home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / smaltalk / st80_pr4.lha / st80_pre4 / Foible / foible / foible-paper.PS < prev    next >
Text File  |  1993-07-24  |  561KB  |  10,764 lines

  1. %%Title: "Laser Prep -- The Apple PostScript Dictionary (md)"
  2. %%Creator: Apple Software Engineering
  3. %%CreationDate: Thursday, March 19, 1987
  4. %{appledict version #68 0
  5. % ⌐ CopyRight Apple Computer, Inc. 1984,1985,1986,1987,1988 All Rights Reserved.
  6. %%EndComments
  7. %%BeginProcSet: "(AppleDict md)" 68 0
  8. statusdict begin waittimeout 300 lt{0 60 300 setdefaulttimeouts}if end
  9. currentfile statusdict begin serverdict begin product (LaserWriter II NT) eq revision 1 eq and {/setrealdevice {//setrealdevice exec 31 sendpcmd 4 eq tonerlight} bind def
  10. /execjob {31 sendpcmd 4 eq tonerlight //execjob exec} bind def end end eexec}{end end 722{currentfile read pop pop}repeat}ifelse 
  11. 35de8eabfc7fa5eac0431edc501ad43f5fcbdf9fdd321cce93b525f4439dd94696bf56ac13a0a2aad1e6bcf444711e941d7217138d20ae0500145f815439cc14e697ad201df728ea4ccad4ac331aa03a7aacde10760bf4ee12bbf73c77cdcbf1796f26f0dd255d2407e1ac41
  12. d27489a69d6b69c6a841468b46720b75ad65650700e0c528e7af61e7e3e821b59445c44b69831ebc9deaf0e3aecc14b7a1c2e18bc1fa42a59219f1e36f236e3d6c89114b1f231999c3dbce6b43f3e2918fcb85575941a9d1e65c86aa08e6eea86cc66ce90e5e4add57f2585e
  13. 7b1c0b5203cfc46868d6e3c0d66db79174e7091e32e307679732da062e440e41dabd36a161b611a7e4523a49694026206803dbfd5be5c5fe433f0f18a40057db6f1302848c8da4a10a7f14c63d512806362b1be092ad5dbd36d75fe63e4cae2ba9b72390f580cac344a08bdf
  14. 6eb9e36ec45bad2a0b82829a72e0efa2d87332c482196e690361168271c55053341ab3
  15. /sc {60 45 {abs exch abs 2 copy add 1 gt{1.0 sub dup mul exch 1.0 sub dup mul add 1.0 sub}{dup mul exch dup mul add 1.0 exch sub}
  16. ifelse}setscreen} bind def statusdict begin product(LaserWriter II)anchorsearch end
  17. {pop pop/letter [/letter load /exec load /sc load /exec load]cvx def/legal [/legal load /exec load /sc load /exec load]cvx def/a4 [/a4 load /exec load /sc load /exec load]cvx def/b5 [/b5 load /exec load /sc load /exec load]cvx def
  18. /lettersmall [/lettersmall load /exec load /sc load /exec load]cvx def/a4small [/a4small load /exec load /sc load /exec load]cvx def/note [/note load /exec load /sc load /exec load]cvx def}{pop}ifelse
  19. systemdict/currentpacking known{currentpacking true setpacking}if
  20. /LW{save statusdict/product get(LaserWriter)anchorsearch
  21. exch pop{length 0 eq{1}{2}ifelse}{0}ifelse exch restore}bind def
  22. /LW+{LW 2 eq}bind def
  23. /ok{systemdict/statusdict known dup{LW 0 gt and}if}bind def
  24. ok{statusdict begin 9 sccinteractive 3 ne exch 0 ne or{9 0 3 setsccinteractive}if end}if
  25. /md 250 dict def md begin
  26. /av 0 def
  27. /T true def/F false def/mtx matrix def/s75 75 string def/s8 8 string def/s1 ( ) def/pxs 1 def/pys 1 def
  28. 1 0 mtx defaultmatrix dtransform exch atan/pa exch def/nlw .24 def/ppr [-32 -29.52 762 582.48] def
  29. /pgs 1 def/por true def/xb 500 array def/so true def/tso true def/fillflag false def/pnm 1 def/fmv true def
  30. /sfl false def/ma 0 def/invertflag false def/dbinvertflag false def/xflip false def/yflip false def/noflips true def/scaleby96 false def/fNote true def/fBitStretch true def
  31. /fg (Rvd\001\001\000\000\177) def
  32. /bdf{bind def}bind def
  33. /xdf{exch def}bdf
  34. /xl{neg exch neg translate}bdf
  35. /fp{pnsh 0 ne pnsv 0 ne and}bdf
  36. /nop{}bdf/lnop[/nop load]cvx bdf
  37. /vrb[
  38. {fp{fg 6 get 0 ne{gsave stroke grestore}{gsave 1 setlinewidth pnsh pnsv scale stroke grestore}ifelse}if newpath}bind
  39. /eofill load
  40. dup
  41. /newpath load
  42. 2 index
  43. dup
  44. {clip newpath}bind
  45. {}bind
  46. dup
  47. 2 copy
  48. ]def
  49. currentscreen/spf xdf/rot xdf/freq xdf
  50. /doop{vrb exch get exec}bdf
  51. /psu{/tso xdf /fNote xdf/fBitStretch xdf/scaleby96 xdf/yflip xdf/xflip xdf
  52. /invertflag xdf/dbinvertflag invertflag statusdict begin version cvr 47.0 ge product (LaserWriter) eq not and end invertflag and {not}if def
  53. xflip yflip or{/noflips false def}if
  54. /pgs xdf 2 index .72 mul exch div/pys xdf div .72 mul/pxs xdf ppr astore pop/por xdf sn and/so xdf}bdf
  55. /tab{statusdict /11x17 known{statusdict begin /11x17 load end}{statusdict /setpage known{statusdict begin 792 1224 1 setpage end}{statusdict /setpageparams known{statusdict begin 792 1224 0 1 setpageparams end}if}ifelse}ifelse}bdf
  56. /txpose{fNote{smalls}{bigs}ifelse pgs get exec pxs pys scale ppr aload pop por{noflips{pop exch neg exch translate pop 1 -1 scale}if
  57. xflip yflip and{pop exch neg exch translate 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate}if 
  58. xflip yflip not and{pop exch neg exch translate pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 translate}if yflip xflip not and{ppr 1 get neg ppr 0 get neg translate}if}
  59. {noflips{translate pop pop 270 rotate 1 -1 scale}if xflip yflip and{translate pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate}if
  60. xflip yflip not and{translate pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 translate}if yflip xflip not and{translate pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 exch translate}if}ifelse
  61. statusdict begin waittimeout 300 lt{/waittimeout 300 def}if end scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy translate .96 dup scale neg exch neg exch translate}if}bdf
  62. /fr{4 copy ppr aload pop 3 -1 roll add 3 1 roll exch add 6 2 roll 3 -1 roll
  63. sub 3 1 roll exch sub 3 -1 roll exch div 3 1 roll div exch scale pop pop xl}bdf
  64. /obl{{0.212557 mul}{pop 0}ifelse}bdf
  65. /sfd{ps fg 5 -1 roll get mul 100 div 0 ps 5 -1 roll obl ps neg 0 0 6a astore makefont setfont}bdf
  66. /fnt{findfont sfd}bdf
  67. /bt{sa 3 1 roll 3 index and put}bdf
  68. /sa(\000\000\000\000\000\000\000\000\000\000)def
  69. /fs{0 1 bt 1 2 bt 2 4 bt 3 8 bt 4 16 bt 5 32 bt 6 64 bt 7 128 bt sa exch 8 exch put}bdf
  70. /mx1 matrix def
  71. /mx2 matrix def
  72. /mx3 matrix def
  73. /bu{currentpoint currentgray currentlinewidth currentlinecap currentlinejoin currentdash exch aload length
  74. fg 5 sfl{1}{0}ifelse put pnsv pnsh
  75. 2t aload pop 3a aload pop mx2 aload pop mx1 aload pop mtx currentmatrix aload pop
  76. mx3 aload pop ps pm restore/ps xdf mx3 astore pop}bdf
  77. /bn{/pm save def mx3 setmatrix newpath 0 0 moveto ct dup 39 get 0 exch getinterval cvx exec
  78. mtx astore setmatrix mx1 astore pop mx2 astore pop 3a astore pop
  79. 2t astore pop/pnsh xdf/pnsv xdf gw
  80. /sfl fg 5 get 0 ne def array astore exch setdash setlinejoin setlinecap
  81. setlinewidth setgray moveto}bdf
  82. /fc{save vmstatus exch sub 50000 lt
  83. {(%%[|0|]%%)=print flush}if pop restore}bdf
  84. /tc{32768 div add 3 1 roll 32768 div add 2t astore pop}bdf
  85. /3a [0 0 0] def
  86. /2t 2 array def
  87. /tp{3a astore pop}bdf
  88. /tt{mx2 currentmatrix pop currentpoint 2 copy 2t aload pop qa 2 copy translate 3a aload pop exch dup 0 eq
  89. {pop}{1 eq{-1 1}{1 -1}ifelse scale}ifelse rotate pop neg exch neg exch translate moveto}bdf
  90. /te{mx2 setmatrix}bdf
  91. /th{3 -1 roll div 3 1 roll exch div 2 copy mx1 scale pop scale/sfl true def}bdf
  92. /tu{1 1 mx1 itransform scale/sfl false def}bdf
  93. /ts{1 1 mx1 transform scale/sfl true def}bdf
  94. /fz{/ps xdf}bdf
  95. /dv{dup 0 ne{div}{pop}ifelse}bdf
  96. /pop4{pop pop pop pop}bdf
  97. /it{sfl{mx1 itransform}if}bdf
  98. /gm{exch it moveto}bdf/rm{it rmoveto}bdf
  99. /lm{currentpoint sfl{mx1 transform}if exch pop sub 0 exch it rmoveto}bdf
  100. /fm{statusdict/manualfeed known}bdf
  101. /se{statusdict exch/manualfeed exch put}bdf
  102. /mf{dup/ma exch def 0 gt{fm se/t1 5 st ok ma 1 gt and{/t2 0 st/t3 0 st
  103. statusdict/manualfeedtimeout 3600 put
  104. }if}if}bdf
  105. /jn{/statusdict where exch pop{statusdict exch /jobname exch put}if}bdf
  106. /pen{pnm mul/pnsh xdf pnm mul/pnsv xdf pnsh setlinewidth}bdf
  107. /min{2 copy gt{exch}if pop}bdf
  108. /max{2 copy lt{exch}if pop}bdf
  109. /dh{fg 6 1 put array astore dup {1 pxs div mul exch}forall astore exch pop exch pop exch setdash}bdf
  110. /ih[currentdash]def
  111. /rh{fg 6 0 put ih aload pop setdash}bdf
  112. /dl{gsave nlw pys div setlinewidth 0 setgray}bdf
  113. /dlin{exch currentpoint currentlinewidth 2 div dup
  114. translate newpath moveto lineto currentpoint stroke grestore moveto}bdf
  115. /lin{fg 6 get 0 ne{exch lineto currentpoint 0 doop moveto}
  116. {exch currentpoint/pnlv xdf/pnlh xdf gsave newpath/@1 xdf/@2 xdf fp{pnlh @2 lt{pnlv @1 ge
  117. {pnlh pnlv moveto @2 @1 lineto pnsh 0 rlineto
  118. 0 pnsv rlineto pnlh pnsh add pnlv pnsv add lineto pnsh neg 0 rlineto}
  119. {pnlh pnlv moveto pnsh 0 rlineto @2 pnsh add @1 lineto 0 pnsv rlineto
  120. pnsh neg 0 rlineto pnlh pnlv pnsv add lineto}ifelse}{pnlv @1 gt
  121. {@2 @1 moveto pnsh 0 rlineto pnlh pnsh add pnlv lineto 0 pnsv rlineto
  122. pnsh neg 0 rlineto @2 @1 pnsv add lineto}{pnlh pnlv moveto pnsh 0 rlineto
  123. 0 pnsv rlineto @2 pnsh add @1 pnsv add lineto pnsh neg 0 rlineto
  124. 0 pnsv neg rlineto}ifelse}ifelse
  125. closepath fill}if @2 @1 grestore moveto}ifelse}bdf
  126. /gw{/pnm fg 3 get fg 4 get div def}bdf
  127. /lw{fg exch 4 exch put fg exch 3 exch put gw pnsv pnsh pen}bdf
  128. /barc{/@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf
  129. /@6 xdf/@7 xdf/@8 xdf gsave
  130. @5 @7 add 2 div @6 @8 add 2 div translate newpath 0 0 moveto
  131. @5 @7 sub @6 @8 sub mtx currentmatrix pop scale @1{newpath}if
  132. 0 0 0.5 @4 @3 arc @4 @3 sub abs 360 ge{closepath}if
  133. mtx setmatrix @2 doop grestore}bdf
  134. /ar{dup 0 eq barc}bdf
  135. /ov{0 exch 360 exch true barc}bdf
  136. /rc{/@t xdf currentpoint 6 2 roll newpath 4 copy 4 2 roll exch moveto
  137. 6 -1 roll lineto lineto lineto closepath @t doop moveto}bdf
  138. /mup{dup pnsh 2 div le exch pnsv 2 div le or}bdf
  139. /rr{/@1 xdf 2. div/@2 xdf 2. div/@3 xdf
  140. /@4 xdf/@5 xdf/@6 xdf/@7 xdf
  141. @7 @5 eq @6 @4 eq @2 mup or or{@7 @6 @5 @4 @1 rc}
  142. {@4 @6 sub 2. div dup @2 lt{/@2 xdf}{pop}ifelse
  143. @5 @7 sub 2. div dup @2 lt{/@2 xdf}{pop}ifelse
  144. @1 0 eq{/@2 @2 pnsh 2 div 2 copy gt{sub def}{0 pop4}ifelse}if
  145. currentpoint newpath
  146. @4 @6 add 2. div @7 moveto
  147. @4 @7 @4 @5 @2 arcto pop4
  148. @4 @5 @6 @5 @2 arcto pop4
  149. @6 @5 @6 @7 @2 arcto pop4
  150. @6 @7 @4 @7 @2 arcto pop4
  151. closepath @1 doop moveto}ifelse}bdf
  152. /pr{gsave newpath/pl{exch moveto/pl{exch lineto}def}def}bdf
  153. /pl{exch lineto}bdf
  154. /ep{dup 0 eq{{moveto}{exch lin}{}{(%%[|1|]%%)= flush}pathforall
  155. pop grestore}{doop grestore}ifelse currentpoint newpath moveto}bdf
  156. /gr{64. div setgray}bdf
  157. /pat{s8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi s8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}setscreen gr}bdf
  158. /sg{freq rot/spf load setscreen gr}bdf
  159. /dc{transform round .5 sub exch round .5 sub exch itransform}bdf
  160. /sn{userdict/smooth4 known}bdf
  161. /x8{3 bitshift}bdf
  162. /x4{2 bitshift}bdf
  163. /d4{-2 bitshift}bdf
  164. /d8{-3 bitshift}bdf
  165. /rb{15 add -4 bitshift 1 bitshift}bdf
  166. /db{/@7 save def/@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf/@6 @5 @3 4 add mul def
  167. dc translate scale/xdbit 1 1 idtransform abs/ydbit exch def abs def{0 0 1 ydbit add 1 10 rc clip}if
  168. @1 0 eq @1 4 eq or{1 setgray ydbit 0 1 ydbit add 1 2 rc}if
  169. @1 3 eq @1 7 eq or{1}{0}ifelse setgray/@9 @1 0 eq @1 1 eq @1 3 eq or or dbinvertflag xor def/@13 @6 def
  170. @2 fBitStretch or{/@10 @4 x4 def/@11 @3 x4 def/@12 @10 rb def/@13 @12 @11 mul def/@15 1 1 dtransform abs/calcY 1 index def round cvi/@14 exch def
  171. abs/calcX 1 index def round cvi scaleby96 not{1 add}if def/@16 @15 rb def/@17 @16 @14 mul def}if
  172. sn @13 60000 lt and @2 fBitStretch or and{mtx currentmatrix dup 1 get exch 2 get 0. eq exch 0. eq and @17 60000 lt and fBitStretch and{@16 3 bitshift @14 @9 [calcX 0 0 calcY 0 0]{@17 string @13 string
  173. currentfile @6 string readhexstring pop 1 index @4 @3 @5 @12 @2 smooth4
  174. @10 @11 @12 dup string 5 index @15 @14 @16 dup string stretch}imagemask}{@12 x8 @11 @9 [@10 0 0 @11 0 0]{@13 string
  175. currentfile @6 string readhexstring pop 1 index @4 @3 @5 @12 @2 smooth4}imagemask}ifelse}{@5 3 bitshift @3 4 add @9 [@4 0 0 @3 0 2]{currentfile @6 string readhexstring pop}imagemask}ifelse
  176. @7 restore}bdf
  177. /multibit{/mbdeep exch def/mbY exch def/mbX exch def
  178. save mbX mbY mbdeep[mbX 0 0 mbY 0 0]{currentfile picstr readhexstring pop}image
  179. restore}bdf
  180. /wd 16 dict def
  181. /mfont 14 dict def
  182. /mdf{mfont wcheck not{/mfont 14 dict def}if mfont begin xdf end}bdf
  183. /cf{{1 index/FID ne{def}{pop pop}ifelse}forall}bdf/rf{/@1 exch def/@2 exch def
  184. FontDirectory @2 known{cleartomark pop}{findfont dup begin dup length @1 add dict begin
  185. cf{/Encoding macvec def}{Encoding dup length array copy/Encoding exch def
  186. counttomark 2 idiv{Encoding 3 1 roll put}repeat}ifelse
  187. pop
  188. exec currentdict end end @2 exch definefont pop}ifelse}bdf
  189. /bmbc{exch begin wd begin
  190. /cr xdf
  191. save
  192. CharTable cr 6 mul 6 getinterval{}forall
  193. /bitheight xdf/bitwidth xdf
  194. .96 div/width xdf
  195. Gkernmax add/XOffset xdf Gdescent add/YOffset xdf/rowbytes xdf
  196. rowbytes 255 eq{0 0 0 0 0 0 setcachedevice}
  197. {Gnormsize dup scale
  198. width 0 XOffset YOffset bitwidth XOffset add bitheight YOffset add
  199. setcachedevice
  200. rowbytes 0 ne{
  201. XOffset YOffset translate newpath 0 0 moveto
  202. bitwidth bitheight scale
  203. sn{
  204. /xSmt bitwidth x4 def
  205. /ySmt bitheight x4 def
  206. /rSmt xSmt rb def
  207. rSmt x8 ySmt true
  208. [xSmt 0 0 ySmt neg 0 ySmt]
  209. {rSmt ySmt mul string CharData cr get
  210. 1 index bitwidth bitheight rowbytes rSmt tso smooth4}
  211. }{rowbytes 3 bitshift bitheight 4 add true
  212. [bitwidth 0 0 bitheight neg 0 bitheight 2 add]
  213. {CharData cr get}
  214. }ifelse
  215. imagemask
  216. }if
  217. }ifelse
  218. restore
  219. end end
  220. }bdf
  221. /bb{.96 exch div/Gnormsize mdf 2 index
  222. /Gkernmax mdf 1 index/Gdescent mdf
  223. 3 index div 4 1 roll
  224. 2 index div 1. 5 2 roll
  225. exch div 4 1 roll
  226. 4 array astore/FontBBox mdf
  227. }bdf
  228. /cdf{mfont/CharData get 3 1 roll put}bdf
  229. /bf{
  230. mfont begin
  231. /FontType 3 def
  232. /FontMatrix [1 0 0 1 0 0] def
  233. /Encoding macvec def
  234. /BuildChar/bmbc load def
  235. end
  236. mfont definefont pop
  237. }bdf
  238. /wi LW 1 eq{{gsave 0 0 0 0 0 0 0 0 moveto lineto lineto lineto closepath clip stringwidth grestore}bind}{/stringwidth load}ifelse def
  239. /aps{0 get 124 eq}bdf
  240. /xc{s75 cvs dup}bdf
  241. /xp{put cvn}bdf
  242. /scs{xc 3 67 put dup 0 95 xp}bdf
  243. /sos{xc 3 79 xp}bdf
  244. /sbs{xc 1 66 xp}bdf
  245. /sis{xc 2 73 xp}bdf
  246. /sob{xc 2 79 xp}bdf
  247. /sss{xc 4 83 xp}bdf
  248. /dd{exch 1 index add 3 1 roll add exch}bdf
  249. /smc{moveto dup show}bdf
  250. /kwn{FontDirectory 1 index known{findfont exch pop}}bdf
  251. /gl{1 currentgray sub setgray}bdf
  252. /mm{/mfont 10 dict def mfont begin
  253. /FontMatrix [1 0 0 1 0 0] def
  254. /FontType 3 def
  255. /Encoding macvec def
  256. /df 4 index findfont def
  257. /FontBBox [0 0 1 1] def
  258. /xda xdf/mbc xdf
  259. /BuildChar{wd begin/cr xdf/fd xdf/cs s1 dup 0 cr put def fd/mbc get exec end}def
  260. exec end mfont definefont}bdf
  261. /ac{dup scs kwn{exch findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall
  262. fmv{/Encoding macvec def}if/StrokeWidth nlw 1000 mul pys div ps div dup 12 lt{pop 12}if def
  263. /PaintType 2 def currentdict end definefont}ifelse}bdf
  264. /mb{dup sbs kwn{exch{pop}{bbc}{}mm}ifelse sfd}bdf
  265. /mo{dup sos kwn{exch{pop}{boc}{}mm}ifelse sfd}bdf
  266. /ms{dup sss kwn{exch{pop}{bsc}{}mm}ifelse sfd}bdf
  267. /ou{dup sos kwn{exch dup ac pop{scs findfont /df2 xdf}{aoc}{}mm}ifelse sfd}bdf
  268. /su{dup sss kwn{exch dup ac pop{scs findfont /df2 xdf}{asc}{}mm}ifelse sfd}bdf
  269. /ao{/fmv true def ou}bdf/as{/fmv true def su}bdf
  270. /vo{/fmv false def ou}bdf/vs{/fmv false def su}bdf
  271. /bbc{/da .03 def fd/df get setfont
  272. gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth
  273. cs 0 0 smc da 0 smc da da smc 0 da moveto show}bdf
  274. /boc{/da 1 ps div def fd/df get setfont
  275. gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth
  276. cs 0 0 smc da 0 smc da da smc 0 da smc gl da 2. div dup moveto show}bdf
  277. /bsc{/da 1 ps div def
  278. /ds .05 def/da2 da 2. div def fd/df get setfont
  279. gsave cs wi 1 index 0 ne{exch ds add da2 add exch}if grestore setcharwidth
  280. cs ds da2 add .01 add 0 smc 0 ds da2 sub translate 0 0 smc
  281. da 0 smc da da smc 0 da smc gl da 2. div dup moveto show}bdf
  282. /aoc{fd/df get setfont
  283. gsave cs wi grestore setcharwidth
  284. gl cs 0 0 smc fd/df2 get setfont gl 0 0 moveto show}bdf
  285. /asc{/da .05 def fd/df get setfont
  286. gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth
  287. cs da .01 add 0 smc 0 da translate gl 0 0 smc gl fd/df2 get setfont 0 0 moveto show}bdf
  288. /st{1000 mul usertime add dup 2147483647 gt{2147483647 sub}if def}bdf
  289. /the{usertime sub dup 0 lt exch -2147483648 gt and}bdf
  290. /6a 6 array def
  291. /2a 2 array def
  292. /3q 3 array def
  293. /qs{3 -1 roll sub exch 3 -1 roll sub exch}bdf
  294. /qa{3 -1 roll add exch 3 -1 roll add exch}bdf
  295. /qm{3 -1 roll 1 index mul 3 1 roll mul}bdf
  296. /qn{6a exch get mul}bdf
  297. /qA .166667 def/qB .833333 def/qC .5 def
  298. /qx{6a astore pop
  299. qA 0 qn qB 2 qn add   qA 1 qn qB 3 qn add
  300. qB 2 qn qA 4 qn add   qB 3 qn qA 5 qn add
  301. qC 2 qn qC 4 qn add   qC 3 qn qC 5 qn add}bdf
  302. /qp{6 copy 12 -2 roll pop pop}bdf
  303. /qc{exch qp qx curveto}bdf
  304. /qi{{exch 4 copy 2a astore aload pop qa .5 qm newpath moveto}{exch 2 copy 6 -2 roll 2 qm qs 4 2 roll}ifelse}bdf
  305. /qq{{qc 2a aload pop qx curveto}{exch 4 copy qs qa qx curveto}ifelse}bdf
  306. /pt{currentpoint newpath moveto}bdf
  307. /qf{/fillflag true def}bdf
  308. /ec{1 and 0 ne{0 doop}if grestore currentpoint newpath moveto/fillflag false def}bdf
  309. /eu{currentpoint fp{0 ep}{grestore newpath}ifelse moveto/fillflag false def}bdf
  310. /bp{currentpoint newpath 2 copy moveto}bdf
  311. /ef{gsave fillflag{gsave eofill grestore}if}bdf
  312. /sm{0 exch{@1 eq{1 add}if}forall}bdf
  313. /lshow{4 1 roll exch/@1 exch def{1 index wi pop sub 1 index sm dv 0 @1 4 -1 roll widthshow}{1 index wi pop sub
  314. 1 index dup sm 10 mul exch length 1 sub add dv dup 10. mul 0 @1 4 -1 roll 0 6 -1 roll awidthshow}ifelse}bdf
  315. /setTxMode{sa 9 2 index put 3 eq{1}{0}ifelse setgray}bdf
  316. /SwToSym{{}mark false/Symbol/|______Symbol 0 rf 0 sa 6 get 0 ne{pop 1}{sa 7 get 0 eq{pop 2}if}ifelse
  317. sa 1 get 0 ne/|______Symbol
  318. sa 4 get 0 ne{vs}{sa 3 get 0 ne{vo}{fnt}ifelse}ifelse}bdf
  319. /mc{0 3 1 roll transform neg exch pop}bdf
  320. /ul{dup 0 ne sa 2 get 0 ne and{gsave 0 0
  321. /UnderlinePosition kif{mc}{ps -10 div}ifelse/UnderlineThickness kif{mc}{ps 15 div}ifelse
  322. abs setlinewidth neg rmoveto
  323. sa 4 get 0 ne{gsave currentlinewidth 2. div dup rmoveto currentpoint newpath moveto
  324. 2 copy rlineto stroke grestore}if
  325. sa 3 get sa 4 get or 0 ne{gsave gl 2 copy rlineto stroke grestore rlineto strokepath nlw pys div setlinewidth}{rlineto}ifelse
  326. stroke grestore}{pop}ifelse}bdf
  327. /sgt{2 copy known{get true}{pop pop false}ifelse}bdf
  328. /kif{currentfont dup/FontMatrix get exch/FontInfo sgt{true}{currentfont/df sgt
  329. {dup/FontInfo sgt{3 1 roll/FontMatrix get mtx concatmatrix exch true}{pop pop pop false}
  330. ifelse}{pop pop false}ifelse}ifelse{3 -1 roll sgt{exch true}{pop false}ifelse}{false}ifelse}bdf
  331. /blank/Times-Roman findfont/CharStrings get/space get def
  332. /macvec 256 array def
  333. /NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI
  334. /DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US
  335. macvec 0 32 getinterval astore pop
  336. macvec 32/Times-Roman findfont/Encoding get
  337. 32 96 getinterval putinterval macvec dup 39/quotesingle put 96/grave put
  338. /Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
  339. /agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
  340. /ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute
  341. /ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis
  342. /dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
  343. /registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash
  344. /infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation
  345. /product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash
  346. /questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft
  347. /guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe
  348. /endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge
  349. /ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl
  350. /daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute
  351. /Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex
  352. /apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde
  353. /macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
  354. macvec 128 128 getinterval astore pop
  355. {}mark true/Courier/|______Courier 0 rf
  356. {/Metrics 21 dict begin/zero 600 def/one 600 def/two 600 def/three 600 def/four 600 def/five 600 def/six 600 def/seven 600 def/eight 600 def
  357. /nine 600 def/comma 600 def/period 600 def/dollar 600 def/numbersign 600 def/percent 600 def/plus 600 def/hyphen 600 def/E 600 def/parenleft 600 def/parenright 600 def/space 600 def
  358. currentdict end def currentdict/UniqueID known{/UniqueID 16#800000 def}if/FontBBox FontBBox 4 array astore def}mark true/Helvetica/|______Seattle 1 rf
  359. /oldsettransfer/settransfer load def
  360. /concatprocs{/proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def
  361. newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx}def
  362. /settransfer{currenttransfer concatprocs oldsettransfer}def
  363. /PaintBlack{{1 exch sub}settransfer gsave newpath clippath 1 setgray fill grestore}def
  364. /od{(Rvd\001\001\000\000\177) fg copy pop txpose
  365. 1 0 mtx defaultmatrix dtransform exch atan/pa exch def
  366. newpath clippath mark
  367. {transform{itransform moveto}}{transform{itransform lineto}}
  368. {6 -2 roll transform 6 -2 roll transform 6 -2 roll transform
  369. {itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}
  370. {{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put
  371. 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}bdf
  372. /cd{}bdf
  373. /op{/sfl false def/pm save def}bdf
  374. /cp{not{userdict/#copies 0 put}if ma 0 gt{{t1 the{exit}if}loop}if{copypage}{showpage}ifelse pm restore}bdf
  375. /px{0 3 1 roll tp tt}bdf
  376. /psb{/us save def}bdf
  377. /pse{us restore}bdf
  378. /ct 40 string def
  379. /nc{currentpoint initclip newpath gc{dup type dup/arraytype eq exch/packedarraytype eq or{exec}if}
  380. forall clip newpath moveto}def
  381. /kp{ct 0 2 index length 2 index 39 2 index put getinterval copy cvx exec mx3 currentmatrix pop}bdf
  382. /av 68 def
  383. end
  384. LW 1 eq userdict/a4small known not and{/a4small
  385. [[300 72 div 0 0 -300 72 div -120 3381]
  386. 280 3255
  387. {statusdict/jobstate (printing) put 0 setblink
  388. margins
  389. exch 196 add exch 304 add 8 div round cvi frametoroket
  390. statusdict/jobstate (busy) put
  391. 1 setblink}
  392. /framedevice load
  393. 60 45{dup mul exch dup mul add 1.0 exch sub}/setscreen load
  394. {}/settransfer load/initgraphics load/erasepage load]cvx
  395. statusdict begin bind end readonly def}if
  396. md begin/bigs[lnop userdict/letter known{/letter load}{lnop}ifelse userdict/legal known{/legal load}{lnop}ifelse userdict/a4 known{/a4 load}{lnop}ifelse userdict/b5 known{/b5 load}{lnop}ifelse 
  397. lnop lnop lnop /tab load]def
  398. /smalls[lnop userdict/lettersmall known{/lettersmall load}{userdict/note known{/note load}{lnop}ifelse}ifelse
  399. userdict/legal known{/legal load}{lnop}ifelse userdict/a4small known{/a4small load}{lnop}ifelse 
  400. userdict/b5 known{/b5 load}{userdict/note known{/note load}{lnop}ifelse}ifelse lnop lnop lnop /tab load]def end
  401. systemdict/currentpacking known{setpacking}if
  402. currentfile ok userdict/stretch known not and{eexec}{flushfile}ifelse
  403. 373A767D4B7FD94FE5903B7014B1B8D3BED02632C855D56F458B118ACF3AF73FC4EF5E81F5749042B5F9CF1016D093B75F250B7D8280B2EACE05A37037F7BDF6E12226D7D4E2DF2C52FAFD5FD40FE72A0D3AC4BD485D8369D4C87636E920D1DAF222D92155A9CB1667E715F0B82799B37CC8F5B32B74B39CF494536DC39C7EF04A7BCB29E2CEC79073CADCCFB23B4AA1363F876F5121B618071B7B4EB1E5DE75FAA2368A3E5DB2B198623AFE92AE9484270FE7F57A850E88C0D3EEA156611C91D8E480D4370B025CCA6929A2BF40AD3D01B2CB7EE6DFB46E12A830542337F7819B67F9765210F76DB06F34DA5B13A11759305C582E16D2B854939F6D9121F2A4F285282F5DCD3D15896D121E3D6F5BE79E087451BB0ED233CDBEF090D3B4AC2DC34B97E70C61D95FB072B8C12D2ABD843520949A39DCF99E2C1AA8FBCD025E47E0A82A8D96E75BAF40F52AD402495BBD4DE0F356C8B14E764874E639C9F045A0D1908EC6456EB6C5B8A6F826192F767EF2C55A21C58F5F9CC1F59247B55F2387828C7FE89D5E7D8484D1BC86CB6673BDBE4FE17DD9BDE95224FE645136F41330BF155A4DDE1B0A32233BF471CE58FBC660DC7E641B0A0D30018454E2191C414A3011FF3FED1C0D88FE1FF9F75DCC456D097947226FBEC92509146D3A4CFFC0471B31C53222ED9DD88566F60F6C0D705AD79DACF53B070026F083ED28B5CF757AAA0A169F6F320A75E9D2ED50ABD939AF85B6346C2ADB25D168F10508E1516D194C635E6B187FADEA0829DBF0390C0F003F0265E215BC96CA3CC13D4A8E01570BE193CA75A620728CD275ACF1986EFFB3A13419FE55EA7C4467B7E7EEDC1FC29C9F8C46A557D2CCDB914EF7B93E7530D555DFC2398AFC68CAD991F062EF85BAA1884EC166C7C5DF8543666D8C41BE267D706BD1588F1F662F705CAE4D29DC38EF66BFAA89470D8A099B6F1B4587F7B024412276106FCD3EB5AE17A5D1DF1781992DC40EA0A992F706F701304CEA9D9073E7A74F1E687D81C3E5841D31CF86855BAAAD9B5D30317C75150A857C6B114735315CDD1AEF36C26BBB0645499406DEE2F24B3B1C72FEC97C7BA31AA2CDAB25418BB1DC4C7E4757F1D625087B0FD0300C03A65F2A72CE734925735277E034CDCF599129679F70CC8B66E03878851DB75041F275E1E5761F3EC753BE1359CA364A22047AE4886217F9259FE19FF5B116E8019B98B143114B313E8BEF87EC949D85C82E0812E6F50525E73890AF362CC8EE8A85F4197E6AC18638EF12E56A808D439AF1BFD363F140314BF4E534485C42F1856688CC35288E8D770120A420FB9F1FCF8AE8BD6D6156CC23E6C51119FE4DE1B68C9DF3487E9974BF9ED31F8D3CE93FF101867319F2FF492D5D398B4F09A66F2F55BCAB34B99173B7EE89039D00DD21A7B3A52E9F028F8301B5FC12D409412E064513BC579AAC498F577EA8ECD1FE3E42DC3CC320786C7B00194FEDF344402C33FC492D4BA86992B01683F440220FFE756BC88A94223D316078D69D33560E8EAB76B24CB7AA4320CF435593D76F624324ABE00B5587A4F283C725EA24567133F25F472B5E2E4474DDB5A16AC5F2DF32350395D3E3892FE361F4D5C9A610C654C9227614FBBAFF3356A90A2266E00F66234061075491571A65616211257F160000000000000000000000000000000000000000000000000000000000000000
  404. 0000000000000000000000000000000000000000000000000000000000000000
  405. 0000000000000000000000000000000000000000000000000000000000000000
  406. 0000000000000000000000000000000000000000000000000000000000000000
  407. 0000000000000000000000000000000000000000000000000000000000000000
  408. 0000000000000000000000000000000000000000000000000000000000000000
  409. 0000000000000000000000000000000000000000000000000000000000000000
  410. 0000000000000000000000000000000000000000000000000000000000000000
  411. cleartomark
  412. currentfile ok userdict/smooth4 known not and{eexec}{flushfile}ifelse
  413. F94E00EE41A71C59E5CAEED1EDBCF23D1DBA1EE99B9BB356492923BD8B1BA83A87CEB0E07377A31FD6241E814681118E17DC7CACE570399506E6E441B871B6043831BD03EFC11DBBD8001EE2FF8CFBD485065D455A2E15AC36F1A84AD8789FA6461199C7CD14CB9FD64D4B06452B7FC0A8FC263F70F1CCB893295D4DE70ADAB771C0F84396FA98C60B11DA02ABA157298DF0A23621853BEF167443A985ADC09BEFFD51CB4D29179E2B34609EF38A49DA61F4BFC256A3DE0732D7D29754A194857B9C9E9971227AA1DD0611FBB10E44E5FF66C062D9C24ED3290529330BC317825E876929582DB0E39B9FC5EFD20CC1D4F94920EB9C534D0DA90DE70D25BC7287319CF28602B3F46633C242CAFC8905E960317E3C2FA20AB8DB06ADBAF292FC7BA2CA14EE65DF28B99CC11666B70AD33E8E1D57D63D4B89ECC615AE5747C1CA752C833D8D6DE54CD4A0350B44310555CE3BD2C615ADD27B634CDB350AF3A432CE78AACD2909A5B586F666CD87919A36DB1CBE86B3CE281DFD01CD7E1B8A18A4B415CECBFF79A5C4390A15EA77D14D6BE12BAB5A8268C3F286D0590060647CABED674443CD258F11415E866AB330A251691B61F2422A61AFE59B6B4FBDCF85ED9BA0F8E483C034089E6877FF5923698D3A0DC0EED6B9CFD32DF0839BC4EA5F6D1FCB6DD0920391E57E84745131D02D100179F4E0A68EC0A5FF6680A6F463D038B04AF63FFA13D743B995A26A743C26D387209023C91DE43DF047A16F328AC9DDC08573B38BE9EA341EA16C78EC32F3A1B36B90D95A50610F4D050EC1C33497F3F3A81A1B4C8BEF0BA84EE2FAA32DC112DAC490AF53E1749C4A0D866CAF7B893E52383B0D38065C333FB122B700D7246F7EE87D942AE3DB5C1DD77E9E76C80CC5AD63D28DFED0E229CE604673F78CD47F258FDF5BF3A3EAEC5C9BC8E482D8DBA9D268A35DA8C095A690679ED2123E8B8F5E4826FA3B199EAA5D482D4B6AA86572E387CECEB7149C8947F41D6339328A748A17F8C4AD3B0555F1E409450BA0C564F1F488BB5096EB003568D4D5EF6489897E27409547D0EE4487D30184793B0F27BD265A64BDB3EA6761569DA955620C612E718677B77D6D81B999C6298877AFE0D1D6F6F358377A8BD2402F669C64B972B3A065EF7DD4BDEFFFE17E63DB8898FA6E69166B710AAD6BA2EA9AF61E4B8C8701638D4D6E4DFFFC192AEF6BC027095C4C72D748979675BA29FAF61E75343E14E61034602E5A79CD2519796ED6A9CC4EDEA46A9B59D4A807E786B5EE46F25B0360BC8E7C12D723122CDEEF247C9776F4C99C8EBED6828AA19744B5ADF0D07D95D98B3072372388D41B0FAB1CCE2775170679575ECDCA13B22A17FE9C6605C3445F58F1A829512DAB6C528F83580C8AA53C35D605F626F5AD0B7FC1EA87D69A835E3F53A1F450FB0AF42A5772F89D92A50D10F15BDBDA409F50C0B8AB93FE8A16D029DD8BB5C480D1466735ED4D9CAF637E5ECD6C2ECB6BF3B3EFBEE7AB936D2C568E3009D156B87CACB1FB3A48A70BC91B2EC35CC9147FFB1A524E2B2F2E4E2C1B12F1C1C63768BB95CD62FEC01CBA79B9FA282DD4DF49990F27FF8EE4E2DDE2F0ACD83BC9D4BE0090192C7A799967EC4DC2D63C0835E22D4C4B366D7FDCF3A05A4B53DF780F986EF25C79B665D5C00EFF7F17C0BB6D544F9D83A7FDAC47D9C5683A656011374253C918FF6EA64749DD971B2300DD5320033E01EC591F6318CCE94CE2B81C04322EC52B624E50643B52391CCD2AB56396A2AD8E2D3CA61B80D9D4CC363B2DF7863526958CDF3497E36648406C317E58EC563E7C26149A2A3C643ADFB39A8DD92974C6D2A2A9D7B71CDF3FEBBF32BB02E7B45CF53AAEAD5E963A4AA4AF9A149A08A4EC303D5F2369977E93F54897EEAD31B06C5845D63F49D65F8E5573962241A57CCD717CE6CA8C784A11192943616EA059B51BC38429E18D0121FCBB6FBD5D909B0D89E616C66DEF6A0F165A7030BD911A1B120468329CBB006C8D37720E531CF31E878CB4AAAC137633675C3D546F5162487AB35F470C042BDEB945E0F2532BF92AA6FD53434440221ECD3533A7AA89900CB19EFE2CD872DF8B7969AF0D3B72BF31DC5DD69CA6460966F61AB17CB507964098DBA3AF122EEC3128A9BAFE1034493F372B36BD1351205E9043A67C544402D8BCE24358C8A5CE33867A00794CF7097D59C88279A11EE9C854E7E7AAE881F9828C569D208F5F33375F59E9A3818CFA38AAD0CBFBA32F9F44A8BB79DE4C40E3886457C16DA4A27953AA1E99472E35F2323F0BAA5E37DC28CBA46FEFB73B190016055ADD4D27615D748499A0E1C4B8C7EC339C1C4D95A813A85918A8D01EEB485DDCDCEA6EA3F2C2A9D85C139CD90CCB352634F9AFE836BCAC0C274E352BA2071B5269D5DE4CCDE3FF990CBA974980C7332AE1545A9C60D5D1459D3AE95C1AC065733AF14FADB440A110DD539563B8D850CD0704C52F3F7CCCB53630D776560CBD22D8FF08F5B354487A171AEC15F5F54DE9CAB668BCAC573E788D92762EF63E76087005F4AC2D02E0CAC173C11BE62ACE5DC4D3374F2F9746C9981E125FF9AB8CAE76D13039E2C54DFD708E028A619EA1ED78E6B46F06DF0D0B74BBEDD8C190C7C0CEBDE8F7A4888CC36575313478DD2CFE392E9BB7B2416955D44B7024A3BA43FBF37293B386D64746D7748895411D243FAEC50638F2AA33337D7FA018ADDAC5835A0DDFAE99AD6299DFB4CA6872C59853E3AC12FC9E3D26629C5B49CF844C87B3C4BFBE3074E3A1CE6984758C20C661084381CD6B4582D84F19C0000B5FC0DCB42B567E396031601C095D7016283EBE5F13CD8A3A374A74DDBBABD36081149F8BC242085F2F7297CC97FD3B8BAD206D8AC9707A39ECCC7963B522E08DA391A1EF12DD4D746DBDDDCC0834F88160CF189A9645567CEC2F023A571AF0DFD15DB85B744C28C000DF53B05F8F210841F6E87A04F20C777B7C0BE6182BE2E90226E5301A12532A745F2FAAA81637CF11B78CD2B99A4D18B862D6C5DBD31793FB16A2D9AAD376D4484D75AA833D0068B1D34DB74E3302480854E3B5484D8A47E39A89A2FA927BC3641EA7F8E004FDE4C2F08D40D99F1ACB47CAF6887629BF6DFE12968D297596D28CE0CF148B12E7DCB49FB94F5ADBD214C3A6CE1E249831BA9EB8A189F2CE1ABE39A7B537253E369A508A2AF2ADB9463F9B56BBBFF31D535FF997F537C6675C196E7ECBD493F652FA7CC6D9C1CA3379BFDB5AF7513C6E834054494296B91A6EE800114363D5D5D0759F41B4DECB653B9DE3E94583579EF549ED5F3FAFB12661ABC0C57A332406517ED3454EDED34B386C60F78DC976266E0EAF54FC245FB0E3EFC8016236436B599C1C97A8C5E0AC8F7836161873C71F01ED9CC25C236420F41FD8277993D3959205912FA0927B59E3DAE7377D82079447D6E41EE5AEC0DFFF79AF8F4ED47F17EE708FEA45877860D56F8CBCE65A061E8E1CA4A5FBAF0E13429A7F0ADB6F178FA449F46CC539BBC0107E3A53B1C362A04B20E6D721E7E6E1E4976A11DDC98C7614D22B53DFBB6DAE533AC9BE882021A735C30DAA4A44AED09F49A390E8CFF59BD9C30667AF21B03EC5CEBD5C2C3AA2769E8D714191A48E7DDF50B13D1560E82EFB65FCE601AE9E8C351FBA1DED80B7351314E7F9F9A784BFE3759B7E322A84E7B51F9DC5F5D9C8050CD79B27C0A4B0DD68A3C27A948AD6858E35B960D2DEA838C479CAEA83B1A912174ACB2100E55E7A14892D7A9B3711FF0B20065C1995B49E1F23464A92DD140642E3A7B1973849E64D1A3CF60000000000000000000000000000000000000000000000000000000000000000
  414. 0000000000000000000000000000000000000000000000000000000000000000
  415. 0000000000000000000000000000000000000000000000000000000000000000
  416. 0000000000000000000000000000000000000000000000000000000000000000
  417. 0000000000000000000000000000000000000000000000000000000000000000
  418. 0000000000000000000000000000000000000000000000000000000000000000
  419. 0000000000000000000000000000000000000000000000000000000000000000
  420. 0000000000000000000000000000000000000000000000000000000000000000
  421. cleartomark
  422. %%EndProcSet
  423.  
  424. %%EOF
  425. %!PS-Adobe-2.0
  426. %%Title: thesis
  427. %%Creator: Microsoft Word
  428. %%CreationDate: Friday, May 25, 1990
  429. %%Pages: (atend)
  430. %%BoundingBox: ? ? ? ?
  431. %%PageBoundingBox: 30 31 582 761
  432. %%For: kevins
  433. %%IncludeProcSet: "(AppleDict md)" 68 0
  434. %%EndComments
  435. %%EndProlog
  436. %%BeginDocumentSetup
  437. md begin
  438.  
  439. T T -31 -30 761 582 100 72 72 1 F F F F T T F psu
  440. (kevins; document: thesis)jn
  441. 0 mf
  442. od
  443. %%EndDocumentSetup
  444. %%Page: ? 1
  445. op
  446. 32 30 xl
  447. 1 1 pen
  448. 165 284 gm
  449. (nc 32 30 762 582 6 rc)kp
  450. 1 setTxMode
  451. 0 fs
  452. bu fc
  453. {}mark T /Times-Roman /|______Times-Roman 0 rf
  454. bn
  455. 12 fz
  456. bu fc
  457. 2 F /|______Times-Roman fnt
  458. bn
  459. -0.22085 0.(FOIBLE:)ashow
  460. 189 142 gm
  461. -0.13034 0.(A FRAMEWORK FOR VISUAL PROGRAMMING LANGUAGES)ashow
  462. 291 298 gm
  463. -0.66708 0.(BY)ashow
  464. 315 215 gm
  465. -0.04759 0.(WILLIAM ALFRED JINDRICH, JR.)ashow
  466. 339 226 gm
  467. 0.36758 0. 32 0.03675 0.(B.S., University of Illinois, 1987)awidthshow
  468. 483 285 gm
  469. 0.06837 0.(THESIS)ashow
  470. 501 187 gm
  471. -0.15524 0.(Submitted in partial fulfillment of the requirements)ashow
  472. 519 173 gm
  473. -0.12705 0.(for the degree of Master of Science in Computer Science)ashow
  474. 537 235 gm
  475. -0.13589 0.(in the Graduate College of the)ashow
  476. 555 187 gm
  477. -0.06224 0.(University of Illinois at Urbana-Champaign, 1990)ashow
  478. 651 268 gm
  479. -0.02029 0.(Urbana, Illinois)ashow
  480. F T cp
  481. %%Page: ? 2
  482. op
  483. 32 30 xl
  484. 1 1 pen
  485. 735 303 gm
  486. (nc 32 30 762 582 6 rc)kp
  487. 1 setTxMode
  488. 0 fs
  489. 12 fz
  490. bu fc
  491. 2 F /|______Times-Roman fnt
  492. bn
  493. -0.66795 0.(ii)ashow
  494. F T cp
  495. %%Page: ? 3
  496. op
  497. 32 30 xl
  498. 1 1 pen
  499. 735 301 gm
  500. (nc 32 30 762 582 6 rc)kp
  501. 1 setTxMode
  502. 0 fs
  503. 12 fz
  504. bu fc
  505. 2 F /|______Times-Roman fnt
  506. bn
  507. -0.50097 0.(iii)ashow
  508. 104 247 gm
  509. 1 fs
  510. bu fc
  511. {}mark T /Times-Bold /|______Times-Bold 0 rf
  512. bn
  513. 14 fz
  514. bu fc
  515. 2 F /|______Times-Bold fnt
  516. bn
  517. 2.90786 0. 32 0.29078 0.(Table of Contents)awidthshow
  518. 141 81 gm
  519. 0 fs
  520. 12 fz
  521. bu fc
  522. 2 F /|______Times-Roman fnt
  523. bn
  524. (Chapter 1. )show
  525. 141 144 gm
  526. -0.11997 0.(Introduction to Visual Programming)ashow
  527. 141 316 gm
  528. 1.02125 0.(................................................)ashow
  529. 141 315 gm
  530. ( )show
  531. 141 508 gm
  532. (1)show
  533. 171 81 gm
  534. (Chapter 2. )show
  535. 171 144 gm
  536. -0.19824 0.(FOIBLE)ashow
  537. 171 188 gm
  538. 1.01264 0.(................................................................................)ashow
  539. 171 185 gm
  540. ( )show
  541. 171 508 gm
  542. (3)show
  543. 189 108 gm
  544. 1.42868 0. 32 0.14286 0.(2.1. )awidthshow
  545. 189 153 gm
  546. (Frameworks)show
  547. 189 216 gm
  548. 1.01387 0.(.........................................................................)ashow
  549. 189 213 gm
  550. ( )show
  551. 189 508 gm
  552. (3)show
  553. 207 108 gm
  554. 1.42868 0. 32 0.14286 0.(2.2. )awidthshow
  555. 207 153 gm
  556. -0.12145 0.(The FOIBLE User Interface)ashow
  557. 207 288 gm
  558. 1.01850 0.(.......................................................)ashow
  559. 207 285 gm
  560. ( )show
  561. 207 508 gm
  562. (4)show
  563. 225 108 gm
  564. 1.42868 0. 32 0.14286 0.(2.3. )awidthshow
  565. 225 153 gm
  566. -0.09698 0.(Systems Built with FOIBLE)ashow
  567. 225 288 gm
  568. 1.01850 0.(.......................................................)ashow
  569. 225 287 gm
  570. ( )show
  571. 225 508 gm
  572. (7)show
  573. 243 135 gm
  574. 1.87515 0. 32 0.18751 0.(2.3.1. )awidthshow
  575. 243 189 gm
  576. -0.13973 0.(System Dynamics Environment)ashow
  577. 243 340 gm
  578. 1.02436 0.(..........................................)ashow
  579. 243 338 gm
  580. ( )show
  581. 243 508 gm
  582. (7)show
  583. 261 135 gm
  584. 1.87515 0. 32 0.18751 0.(2.3.2. )awidthshow
  585. 261 189 gm
  586. (FlowKit)show
  587. 261 232 gm
  588. 1.01469 0.(.....................................................................)ashow
  589. 261 229 gm
  590. ( )show
  591. 261 508 gm
  592. (8)show
  593. 279 135 gm
  594. 1.87515 0. 32 0.18751 0.(2.3.3. )awidthshow
  595. 279 189 gm
  596. -0.16531 0.(The Visual Tool Set)ashow
  597. 279 284 gm
  598. 1.01817 0.(........................................................)ashow
  599. 279 283 gm
  600. ( )show
  601. 279 508 gm
  602. (9)show
  603. 297 135 gm
  604. 1.87515 0. 32 0.18751 0.(2.3.4. )awidthshow
  605. 297 189 gm
  606. 0.97097 0.(Sh++.........................................................................)ashow
  607. 297 216 gm
  608. ( )show
  609. 297 508 gm
  610. (14)show
  611. 315 135 gm
  612. 1.87515 0. 32 0.18751 0.(2.3.5. )awidthshow
  613. 315 189 gm
  614. -0.38562 0.(DataVis)ashow
  615. 315 228 gm
  616. 1.01448 0.(......................................................................)ashow
  617. 315 226 gm
  618. ( )show
  619. 315 508 gm
  620. (15)show
  621. 345 81 gm
  622. (Chapter 3. )show
  623. 345 144 gm
  624. -0.19801 0.(Design)ashow
  625. 345 180 gm
  626. 1.01232 0.(..................................................................................)ashow
  627. 345 177 gm
  628. ( )show
  629. 345 508 gm
  630. (17)show
  631. 363 108 gm
  632. 1.42868 0. 32 0.14286 0.(3.1. )awidthshow
  633. 363 153 gm
  634. 7.44552 0. 32 0.74455 0.(User Interface........................................................................)awidthshow
  635. 363 220 gm
  636. ( )show
  637. 363 508 gm
  638. (17)show
  639. 381 135 gm
  640. 1.87515 0. 32 0.18751 0.(3.1.1. )awidthshow
  641. 381 189 gm
  642. -0.13298 0.(Foible)ashow
  643. 381 220 gm
  644. 1.01406 0.(........................................................................)ashow
  645. 381 219 gm
  646. ( )show
  647. 381 508 gm
  648. (18)show
  649. 399 135 gm
  650. 1.87515 0. 32 0.18751 0.(3.1.2. )awidthshow
  651. 399 189 gm
  652. -0.08360 0.(FoibleBox)ashow
  653. 399 240 gm
  654. 1.01513 0.(...................................................................)ashow
  655. 399 239 gm
  656. ( )show
  657. 399 508 gm
  658. (19)show
  659. 417 135 gm
  660. 1.87515 0. 32 0.18751 0.(3.1.3. )awidthshow
  661. 417 189 gm
  662. -0.14764 0.(FoibleLink)ashow
  663. 417 244 gm
  664. 1.01536 0.(..................................................................)ashow
  665. 417 241 gm
  666. ( )show
  667. 417 508 gm
  668. (20)show
  669. 435 135 gm
  670. 1.87515 0. 32 0.18751 0.(3.1.4. )awidthshow
  671. 435 189 gm
  672. -0.22132 0.(Tool)ashow
  673. 435 212 gm
  674. 1.01368 0.(..........................................................................)ashow
  675. 435 211 gm
  676. ( )show
  677. 435 508 gm
  678. (20)show
  679. 453 135 gm
  680. 1.87515 0. 32 0.18751 0.(3.1.5. )awidthshow
  681. 453 189 gm
  682. 0.92997 0.(Canvas.......................................................................)ashow
  683. 453 224 gm
  684. ( )show
  685. 453 508 gm
  686. (21)show
  687. 471 108 gm
  688. 1.42868 0. 32 0.14286 0.(3.2. )awidthshow
  689. 471 153 gm
  690. 0.70843 0.(Model-View-Controller.............................................................)ashow
  691. 471 264 gm
  692. ( )show
  693. 471 508 gm
  694. (22)show
  695. 489 135 gm
  696. 1.87515 0. 32 0.18751 0.(3.2.1. )awidthshow
  697. 489 189 gm
  698. -0.24835 0.(Top Level MVC)ashow
  699. 489 268 gm
  700. 1.01693 0.(............................................................)ashow
  701. 489 266 gm
  702. ( )show
  703. 489 508 gm
  704. (23)show
  705. 507 135 gm
  706. 1.87515 0. 32 0.18751 0.(3.2.2. )awidthshow
  707. 507 189 gm
  708. -0.19854 0.(Second level MVC)ashow
  709. 507 280 gm
  710. 1.01783 0.(.........................................................)ashow
  711. 507 278 gm
  712. ( )show
  713. 507 508 gm
  714. (26)show
  715. 525 162 gm
  716. 2.22229 0. 32 0.22222 0.(3.2.2.1. )awidthshow
  717. 525 225 gm
  718. 0.80027 0.(FoibleProgram.....................................................)ashow
  719. 525 296 gm
  720. ( )show
  721. 525 508 gm
  722. (26)show
  723. 543 162 gm
  724. 2.22229 0. 32 0.22222 0.(3.2.2.2. )awidthshow
  725. 543 225 gm
  726. -0.19221 0.(ToolBenchView)ashow
  727. 543 304 gm
  728. 1.01998 0.(...................................................)ashow
  729. 543 302 gm
  730. ( )show
  731. 543 508 gm
  732. (26)show
  733. 561 162 gm
  734. 2.22229 0. 32 0.22222 0.(3.2.2.3. )awidthshow
  735. 561 225 gm
  736. 0.71685 0.(PaletteController...................................................)ashow
  737. 561 304 gm
  738. ( )show
  739. 561 508 gm
  740. (27)show
  741. 579 135 gm
  742. 1.87515 0. 32 0.18751 0.(3.2.3. )awidthshow
  743. 579 189 gm
  744. -0.24374 0.(Bottom Level MVC)ashow
  745. 579 284 gm
  746. 1.01817 0.(........................................................)ashow
  747. 579 282 gm
  748. ( )show
  749. 579 508 gm
  750. (29)show
  751. 597 162 gm
  752. 2.22229 0. 32 0.22222 0.(3.2.3.1. )awidthshow
  753. 597 225 gm
  754. 0.77993 0.(FoibleManager.....................................................)ashow
  755. 597 296 gm
  756. ( )show
  757. 597 508 gm
  758. (29)show
  759. 615 162 gm
  760. 2.22229 0. 32 0.22222 0.(3.2.3.2. )awidthshow
  761. 615 225 gm
  762. -0.14552 0.(CanvasView)ashow
  763. 615 288 gm
  764. 1.01850 0.(.......................................................)ashow
  765. 615 285 gm
  766. ( )show
  767. 615 508 gm
  768. (30)show
  769. 633 162 gm
  770. 2.22229 0. 32 0.22222 0.(3.2.3.3. )awidthshow
  771. 633 225 gm
  772. 0.74400 0.(CanvasController..................................................)ashow
  773. 633 308 gm
  774. ( )show
  775. 633 508 gm
  776. (30)show
  777. 663 81 gm
  778. (Chapter 4. )show
  779. 663 144 gm
  780. -0.22891 0.(Implementation)ashow
  781. 663 220 gm
  782. 1.01406 0.(........................................................................)ashow
  783. 663 217 gm
  784. ( )show
  785. 663 508 gm
  786. (31)show
  787. 681 108 gm
  788. 1.42868 0. 32 0.14286 0.(4.1. )awidthshow
  789. 681 153 gm
  790. -0.13298 0.(Foible)ashow
  791. 681 184 gm
  792. 1.01248 0.(.................................................................................)ashow
  793. 681 183 gm
  794. ( )show
  795. 681 508 gm
  796. (31)show
  797. 699 135 gm
  798. 1.87515 0. 32 0.18751 0.(4.1.1. )awidthshow
  799. 699 189 gm
  800. -0.06617 0.(FoibleBoxes)ashow
  801. 699 252 gm
  802. 1.01585 0.(................................................................)ashow
  803. 699 249 gm
  804. ( )show
  805. 699 508 gm
  806. (33)show
  807. F T cp
  808. %%Page: ? 4
  809. op
  810. 32 30 xl
  811. 1 1 pen
  812. 735 301 gm
  813. (nc 32 30 762 582 6 rc)kp
  814. 1 setTxMode
  815. 0 fs
  816. 12 fz
  817. bu fc
  818. 2 F /|______Times-Roman fnt
  819. bn
  820. -0.33398 0.(iv)ashow
  821. 99 135 gm
  822. 1.87515 0. 32 0.18751 0.(4.1.2. )awidthshow
  823. 99 189 gm
  824. -0.05731 0.(FoibleLinks, FoibleLines)ashow
  825. 99 312 gm
  826. 1.02081 0.(.................................................)ashow
  827. 99 309 gm
  828. ( )show
  829. 99 508 gm
  830. (37)show
  831. 117 108 gm
  832. 1.42868 0. 32 0.14286 0.(4.2. )awidthshow
  833. 117 153 gm
  834. 0.82766 0.(FoibleManager.......................................................................)ashow
  835. 117 224 gm
  836. ( )show
  837. 117 508 gm
  838. (40)show
  839. 135 108 gm
  840. 1.42868 0. 32 0.14286 0.(4.3. )awidthshow
  841. 135 153 gm
  842. -0.09902 0.(Palette, ToolBenchView, CanvasView)ashow
  843. 135 336 gm
  844. 1.02378 0.(...........................................)ashow
  845. 135 335 gm
  846. ( )show
  847. 135 508 gm
  848. (43)show
  849. 153 108 gm
  850. 1.42868 0. 32 0.14286 0.(4.4. )awidthshow
  851. 153 153 gm
  852. -0.22132 0.(Tool)ashow
  853. 153 176 gm
  854. 1.01217 0.(...................................................................................)ashow
  855. 153 175 gm
  856. ( )show
  857. 153 508 gm
  858. (45)show
  859. 171 135 gm
  860. 1.87515 0. 32 0.18751 0.(4.4.1. )awidthshow
  861. 171 189 gm
  862. 0.84904 0.(LineSessions................................................................)ashow
  863. 171 252 gm
  864. ( )show
  865. 171 508 gm
  866. (46)show
  867. 201 81 gm
  868. (Chapter 5. )show
  869. 201 144 gm
  870. 6.85089 0. 32 0.68508 0.(FOIBLE Accessories..................................................................)awidthshow
  871. 201 244 gm
  872. ( )show
  873. 201 508 gm
  874. (50)show
  875. 219 108 gm
  876. 1.42868 0. 32 0.14286 0.(5.1. )awidthshow
  877. 219 153 gm
  878. -0.19577 0.(IconManager)ashow
  879. 219 216 gm
  880. 1.01387 0.(.........................................................................)ashow
  881. 219 215 gm
  882. ( )show
  883. 219 508 gm
  884. (50)show
  885. 237 108 gm
  886. 1.42868 0. 32 0.14286 0.(5.2. )awidthshow
  887. 237 153 gm
  888. -0.08924 0.(Binary Store)ashow
  889. 237 216 gm
  890. 1.01387 0.(.........................................................................)ashow
  891. 237 213 gm
  892. ( )show
  893. 237 508 gm
  894. (53)show
  895. 267 81 gm
  896. (Chapter 6. )show
  897. 267 144 gm
  898. -0.05957 0.(Using FOIBLE)ashow
  899. 267 220 gm
  900. 1.01406 0.(........................................................................)ashow
  901. 267 217 gm
  902. ( )show
  903. 267 508 gm
  904. (54)show
  905. 285 108 gm
  906. 1.42868 0. 32 0.14286 0.(6.1. )awidthshow
  907. 285 153 gm
  908. -0.13206 0.(An Outline of Using FOIBLE)ashow
  909. 285 296 gm
  910. 1.01921 0.(.....................................................)ashow
  911. 285 293 gm
  912. ( )show
  913. 285 508 gm
  914. (54)show
  915. 303 108 gm
  916. 1.42868 0. 32 0.14286 0.(6.2. )awidthshow
  917. 303 153 gm
  918. 4.19143 0. 32 0.41914 0.(An Example of Using FOIBLE....................................................)awidthshow
  919. 303 300 gm
  920. ( )show
  921. 303 508 gm
  922. (55)show
  923. 333 81 gm
  924. (Chapter 7. )show
  925. 333 144 gm
  926. -0.03323 0.(Conclusions)ashow
  927. 333 204 gm
  928. 1.01332 0.(............................................................................)ashow
  929. 333 203 gm
  930. ( )show
  931. 333 508 gm
  932. (63)show
  933. 351 108 gm
  934. 1.42868 0. 32 0.14286 0.(7.1. )awidthshow
  935. 351 153 gm
  936. -0.21214 0.(Implementation Limitations)ashow
  937. 351 284 gm
  938. 1.01817 0.(........................................................)ashow
  939. 351 282 gm
  940. ( )show
  941. 351 508 gm
  942. (63)show
  943. 369 108 gm
  944. 1.42868 0. 32 0.14286 0.(7.2. )awidthshow
  945. 369 153 gm
  946. -0.12739 0.(Future Enhancements)ashow
  947. 369 256 gm
  948. 1.01611 0.(...............................................................)ashow
  949. 369 255 gm
  950. ( )show
  951. 369 508 gm
  952. (65)show
  953. 387 108 gm
  954. 1.42868 0. 32 0.14286 0.(7.3. )awidthshow
  955. 387 153 gm
  956. -0.08024 0.(The Framework)ashow
  957. 387 232 gm
  958. 1.01469 0.(.....................................................................)ashow
  959. 387 229 gm
  960. ( )show
  961. 387 508 gm
  962. (66)show
  963. 417 81 gm
  964. -0.14311 0.(References)ashow
  965. 417 136 gm
  966. 1.01084 0.(.............................................................................................)ashow
  967. 417 133 gm
  968. ( )show
  969. 417 508 gm
  970. (67)show
  971. F T cp
  972. %%Page: ? 5
  973. op
  974. 32 30 xl
  975. 1 1 pen
  976. 735 303 gm
  977. (nc 32 30 762 582 6 rc)kp
  978. 1 setTxMode
  979. 0 fs
  980. 12 fz
  981. bu fc
  982. 2 F /|______Times-Roman fnt
  983. bn
  984. (1)show
  985. 104 133 gm
  986. 1 fs
  987. 14 fz
  988. bu fc
  989. 2 F /|______Times-Bold fnt
  990. bn
  991. 3.28475 0. 32 0.32847 0.(Chapter 1.)awidthshow
  992. 104 241 gm
  993. 2.94418 0. 32 0.29441 0.(Introduction to Visual Programming)awidthshow
  994. 141 81 gm
  995. 0 fs
  996. 12 fz
  997. bu fc
  998. 2 F /|______Times-Roman fnt
  999. bn
  1000. 0.11856 0. 32 0.01185 0.(Interest in visual programming languages has grown significantly over the past several years.)awidthshow
  1001. 165 81 gm
  1002. 0.37048 0. 32 0.03704 0.(Visual programming is, simply stated, programming with pictures, and its growth in interest)awidthshow
  1003. 189 81 gm
  1004. 0.04013 0. 32 0.00401 0.(has occurred for several reasons.  The high-resolution graphics displays that are necessary for)awidthshow
  1005. 213 81 gm
  1006. -0.08293 0.(visual programming are now available to the general public at a reasonable price.  One strength)ashow
  1007. 237 81 gm
  1008. 1.59805 0. 32 0.15980 0.(of visual programming is the amount of information that can be displayed, and a high-)awidthshow
  1009. 261 81 gm
  1010. 0.65383 0. 32 0.06538 0.(resolution display allows for the display of very detailed pictures, and hence allows for the)awidthshow
  1011. 285 81 gm
  1012. 2.15499 0. 32 0.21549 0.(display of more information.  There has always been a need for a better interface to)awidthshow
  1013. 309 81 gm
  1014. 0.86730 0. 32 0.08673 0.(programming, and high resolution graphics can be used in visual programming systems to)awidthshow
  1015. 333 81 gm
  1016. -0.08850 0.(provide programmers with an improved interface [Raed85].)ashow
  1017. 369 81 gm
  1018. -0.03450 0.(Visual programming makes it much easier to find specific information.  One of the nice things)ashow
  1019. 393 81 gm
  1020. -0.09123 0.(about visual programming is that is it very easy to see the relationships between the objects in a)ashow
  1021. 417 81 gm
  1022. 0.79330 0. 32 0.07933 0.(system, while it may be difficult to locate all of the references to an object in a text-based)awidthshow
  1023. 441 81 gm
  1024. -0.03262 0.(program.  Also, text does not take advantage of the wide variety of visual characteristics that a)ashow
  1025. 465 81 gm
  1026. 0.53970 0. 32 0.05397 0.(picture can.  For these reasons, a programming language that has a graphical representation)awidthshow
  1027. 489 81 gm
  1028. -0.08889 0.(should have some advantages over a text-based programming language.)ashow
  1029. 525 81 gm
  1030. 1.05010 0. 32 0.10501 0.(The availability of inexpensive graphic displays to the general public has also lead to the)awidthshow
  1031. 549 81 gm
  1032. 0.40542 0. 32 0.04054 0.(availability of visual programming to a large audience.  In fact, some people feel that visual)awidthshow
  1033. 573 81 gm
  1034. 0.81573 0. 32 0.08157 0.(programming may be best suited for non-programmers.  A number of visual programming)awidthshow
  1035. 597 81 gm
  1036. -0.00210 0.(languages have, indeed, been developed as an introduction to programming [Kimu86].  Using)ashow
  1037. 621 81 gm
  1038. -0.06640 0.(pictures instead of words allows programming to be performed even by young children.)ashow
  1039. 657 81 gm
  1040. 0.75317 0. 32 0.07531 0.(The feeling of direct manipulation is another benefit of visual programming.  When a user)awidthshow
  1041. 681 81 gm
  1042. 0.55130 0. 32 0.05513 0.(performs some operation on an object on the screen, results can be seen immediately.  This)awidthshow
  1043. F T cp
  1044. %%Page: ? 6
  1045. op
  1046. 32 30 xl
  1047. 1 1 pen
  1048. 735 303 gm
  1049. (nc 32 30 762 582 6 rc)kp
  1050. 1 setTxMode
  1051. 0 fs
  1052. 12 fz
  1053. bu fc
  1054. 2 F /|______Times-Roman fnt
  1055. bn
  1056. (2)show
  1057. 93 81 gm
  1058. 0.26092 0. 32 0.02609 0.(makes it easier for the user to think of the object as a concrete object.  Textual programming)awidthshow
  1059. 117 81 gm
  1060. 0.39810 0. 32 0.03981 0.(languages require names for variables, and that presents another level of abstraction that the)awidthshow
  1061. 141 81 gm
  1062. -0.03134 0.(user must comprehend.)ashow
  1063. 177 81 gm
  1064. -0.11842 0.(Visual programming languages can reduce the time that it takes to learn a language, because the)ashow
  1065. 201 81 gm
  1066. 1.44836 0. 32 0.14483 0.(user can immediately see the relationship between all of the objects in a program.  The)awidthshow
  1067. 225 81 gm
  1068. 0.12298 0. 32 0.01229 0.(graphical representation can also help the user to understand a program by using pictures and)awidthshow
  1069. 249 81 gm
  1070. 0.40222 0. 32 0.04022 0.(symbols to convey meaning.  A very complicated process may be presented as a simple and)awidthshow
  1071. 273 81 gm
  1072. -0.09069 0.(easy to understand graphical representation.)ashow
  1073. 309 81 gm
  1074. 2.98614 0. 32 0.29861 0.(Most of the successful visual programming languages are based on a very narrow)awidthshow
  1075. 333 81 gm
  1076. 0.08987 0. 32 0.00898 0.(computational model [Borg90].  This implies that there will always be the need to create new)awidthshow
  1077. 357 81 gm
  1078. 0.67138 0. 32 0.06713 0.(visual programming systems.  While there are many different types of visual programming)awidthshow
  1079. 381 81 gm
  1080. -0.06623 0.(languages, most will share some basic ideas.  It would be desirable to have some way to record)ashow
  1081. 405 81 gm
  1082. -0.06484 0.(these ideas and allow developers to use them.  It would also be useful if each developer did not)ashow
  1083. 429 81 gm
  1084. 0.25863 0. 32 0.02586 0.(have to reimplement these basic ideas [Kapp89].  FOIBLE was created as a solution to these)awidthshow
  1085. 453 81 gm
  1086. 0.04318 0.(problems.)ashow
  1087. 489 81 gm
  1088. 0.16830 0. 32 0.01683 0.(This thesis describes enhancements to, and a redesign of, FOIBLE, which is a framework for)awidthshow
  1089. 513 81 gm
  1090. 1.48300 0. 32 0.14830 0.(visual programming languages [Eric87].  Most of the recent work on FOIBLE involved)awidthshow
  1091. 537 81 gm
  1092. 0.94284 0. 32 0.09428 0.(enhancing and abstracting the framework, making it as useful and flexible as possible.  A)awidthshow
  1093. 561 81 gm
  1094. 1.75430 0. 32 0.17543 0.(number of different visual programming languages have been, and are currently being,)awidthshow
  1095. 585 81 gm
  1096. 0.32943 0. 32 0.03294 0.(developed using FOIBLE, including [Borg90], [Scae88], and [Senn90].  The current version)awidthshow
  1097. 609 81 gm
  1098. 0.19989 0. 32 0.01998 0.(of FOIBLE has been designed to meet the needs of the current users and, we hope, will meet)awidthshow
  1099. 633 81 gm
  1100. -0.01086 0.(the needs of future users.)ashow
  1101. F T cp
  1102. %%Page: ? 7
  1103. op
  1104. 32 30 xl
  1105. 1 1 pen
  1106. 735 303 gm
  1107. (nc 32 30 762 582 6 rc)kp
  1108. 1 setTxMode
  1109. 0 fs
  1110. 12 fz
  1111. bu fc
  1112. 2 F /|______Times-Roman fnt
  1113. bn
  1114. (3)show
  1115. 104 224 gm
  1116. 1 fs
  1117. 14 fz
  1118. bu fc
  1119. 2 F /|______Times-Bold fnt
  1120. bn
  1121. 3.28475 0. 32 0.32847 0.(Chapter 2.)awidthshow
  1122. 104 332 gm
  1123. 0.22004 0.(FOIBLE)ashow
  1124. 141 81 gm
  1125. 0 fs
  1126. 12 fz
  1127. bu fc
  1128. 2 F /|______Times-Roman fnt
  1129. bn
  1130. 0.67199 0. 32 0.06719 0.(FOIBLE is an object-oriented framework for creating visual programming systems.  It was)awidthshow
  1131. 165 81 gm
  1132. 0.42221 0. 32 0.04222 0.(originally created by Stuart Ericson [Eric87], greatly improved by Beth Scaer [Scae88], and)awidthshow
  1133. 189 81 gm
  1134. 0.85861 0. 32 0.08586 0.(was later used in Jose Borges' PhD work [Borg90].  The FOIBLE framework allows for a)awidthshow
  1135. 213 81 gm
  1136. 0.16799 0. 32 0.01679 0.(more rapid design and implementation of visual programming languages.  FOIBLE, which is)awidthshow
  1137. 237 81 gm
  1138. 1.07543 0. 32 0.10754 0.(an acronym for Framework for Object-oriented Interactive Box and Line Environment, is)awidthshow
  1139. 261 81 gm
  1140. -0.09901 0.(implemented in the Smalltalk-80 programming language [Gold87].  The FOIBLE framework is)ashow
  1141. 285 81 gm
  1142. -0.09623 0.(a generic set of classes that define the skeleton of a visual programming language.  Much of the)ashow
  1143. 309 81 gm
  1144. 0.06881 0. 32 0.00688 0.(high level activity and interaction has been implemented, and a programmer need only define)awidthshow
  1145. 333 81 gm
  1146. 0.25238 0. 32 0.02523 0.(the application-specific behavior in order to create a new FOIBLE application.  FOIBLE has)awidthshow
  1147. 357 81 gm
  1148. -0.07347 0.(been designed as a reusable framework, and several benefits result from this reusability.)ashow
  1149. 417 81 gm
  1150. 1 fs
  1151. bu fc
  1152. 2 F /|______Times-Bold fnt
  1153. bn
  1154. 1.99996 0.(2.1.)ashow
  1155. 417 117 gm
  1156. 0.52191 0.(Frameworks)ashow
  1157. 453 81 gm
  1158. 0 fs
  1159. bu fc
  1160. 2 F /|______Times-Roman fnt
  1161. bn
  1162. -0.07952 0.(An obvious benefit of using a framework is code reuse, and a savings in time can be realized in)ashow
  1163. 477 81 gm
  1164. 0.70953 0. 32 0.07095 0.(coding and debugging.  A more important reuse that results from using a framework is the)awidthshow
  1165. 501 81 gm
  1166. -0.06553 0.(reuse of design [John88].  A framework provides a high level generic design that is intended to)ashow
  1167. 525 81 gm
  1168. 0.32119 0. 32 0.03211 0.(provide developers with a good starting point for an application that is flexible enough to be)awidthshow
  1169. 549 81 gm
  1170. -0.07333 0.(used in a range of applications.)ashow
  1171. 585 81 gm
  1172. 0.78399 0. 32 0.07839 0.(Another benefit of framework reusability is the transfer of knowledge.  As a framework is)awidthshow
  1173. 609 81 gm
  1174. 0.94207 0. 32 0.09420 0.(reused and redesigned, users pass information on to future users of the system.  Although)awidthshow
  1175. 633 81 gm
  1176. -0.01284 0.(much of the information will be correct, some of it may need refinement and/or improvement.)ashow
  1177. 657 81 gm
  1178. 0.88500 0. 32 0.08850 0.(As more people use a framework, problems with the design that were not envisioned may)awidthshow
  1179. 681 81 gm
  1180. -0.06092 0.(arise.  New classes may need to be implemented and old classes may be found unnecessary.  A)ashow
  1181. F T cp
  1182. %%Page: ? 8
  1183. op
  1184. 32 30 xl
  1185. 1 1 pen
  1186. 735 303 gm
  1187. (nc 32 30 762 582 6 rc)kp
  1188. 1 setTxMode
  1189. 0 fs
  1190. 12 fz
  1191. bu fc
  1192. 2 F /|______Times-Roman fnt
  1193. bn
  1194. (4)show
  1195. 93 81 gm
  1196. 0.81970 0. 32 0.08197 0.(framework may change frequently, especially the first few times that it is used, with users)awidthshow
  1197. 117 81 gm
  1198. -0.08631 0.(learning from the current design and using their knowledge to improve the future design.)ashow
  1199. 153 81 gm
  1200. 1.95785 0. 32 0.19578 0.(To allow for reusability, many of the classes in FOIBLE declare methods, but do not)awidthshow
  1201. 177 81 gm
  1202. -0.09861 0.(implement them.  These methods are left to be implemented by subclasses.  A class that defines)ashow
  1203. 201 81 gm
  1204. 0.84381 0. 32 0.08438 0.(but does not implement some methods is called an abstract class.  Abstract classes are the)awidthshow
  1205. 225 81 gm
  1206. 0.95458 0. 32 0.09545 0.(cornerstone of object-oriented frameworks.  A subclass that implements all of the defined)awidthshow
  1207. 249 81 gm
  1208. 0.37643 0. 32 0.03764 0.(methods is called a concrete class.  Only concrete classes can be instantiated, so most of the)awidthshow
  1209. 273 81 gm
  1210. -0.08152 0.(FOIBLE classes must be subclassed in order to create a visual programming system.)ashow
  1211. 309 81 gm
  1212. 1.11160 0. 32 0.11116 0.(A framework consists of a set of abstract classes, an interface between the classes, and a)awidthshow
  1213. 333 81 gm
  1214. -0.06425 0.(library of concrete classes.  The usefulness and reusability of a framework is largely dependent)ashow
  1215. 357 81 gm
  1216. 0.52337 0. 32 0.05233 0.(on its abstract classes.  One goal of designing a good framework is creating classes that are)awidthshow
  1217. 381 81 gm
  1218. 0.14404 0. 32 0.01440 0.(useful, flexible, and easy to use, and we attempted to reach this goal by carefully redesigning)awidthshow
  1219. 405 81 gm
  1220. -0.08851 0.(the abstract classes in the FOIBLE framework.)ashow
  1221. 465 81 gm
  1222. 1 fs
  1223. bu fc
  1224. 2 F /|______Times-Bold fnt
  1225. bn
  1226. 1.99996 0.(2.2.)ashow
  1227. 465 117 gm
  1228. 2.23068 0. 32 0.22306 0.(The FOIBLE User Interface)awidthshow
  1229. 501 81 gm
  1230. 0 fs
  1231. bu fc
  1232. 2 F /|______Times-Roman fnt
  1233. bn
  1234. -0.07109 0.(This section describes the basic user interface of applications built with FOIBLE.  It introduces)ashow
  1235. 525 81 gm
  1236. 2.08557 0. 32 0.20855 0.(the FOIBLE interface and the vocabulary that is used in the remainder of this paper.)awidthshow
  1237. 549 81 gm
  1238. 0.49468 0. 32 0.04946 0.(Developing an application with FOIBLE will require more knowledge about the design and)awidthshow
  1239. 573 81 gm
  1240. -0.11222 0.(implementation of FOIBLE, and that information is contained in the following chapters.)ashow
  1241. 609 81 gm
  1242. 0.37414 0. 32 0.03741 0.(An application built with FOIBLE will appear similar to that shown in Figure 2.1.  This is a)awidthshow
  1243. 633 81 gm
  1244. 1.76254 0. 32 0.17625 0.(picture of System Dynamics Environment \(SDE\), which was created by Stuart Ericson)awidthshow
  1245. 657 81 gm
  1246. 0.21972 0. 32 0.02197 0.([Eric87].  An application's window contains one or more canvases, and SDE has one canvas.)awidthshow
  1247. F T cp
  1248. %%Page: ? 9
  1249. op
  1250. 32 30 xl
  1251. 1 1 pen
  1252. 735 303 gm
  1253. (nc 32 30 762 582 6 rc)kp
  1254. 1 setTxMode
  1255. 0 fs
  1256. 12 fz
  1257. bu fc
  1258. 2 F /|______Times-Roman fnt
  1259. bn
  1260. (5)show
  1261. 0 0 gm
  1262. (nc 72 81 494 561 6 rc)kp
  1263. T 480 54 81 72 62 480 54 T 0 db
  1264. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1265. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1266. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1267. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1268. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1269. 000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800000000000000000000000000000000000000000000000000000000000
  1270. 0000000000000020000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000
  1271. 0000000000000020000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000
  1272. 0000000000000020000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000
  1273. 0000000000000020000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000
  1274. 0000000000000020F000020000007800000000200000F8000200000000000080800000000000000000000000000000000000000000000000000000000000
  1275. 0000000000000021080002000000440000000000000080000000000000000080800000000000000000000000000000000000000000000000000000000000
  1276. 00000000000000210111C70E2CC04244B0E2CC61C3808162262E7162CC38B1C0800000000000000000000000000000000000000000000000000000000000
  1277. 00000000000000210112221133204244C913322224408192223089933244C880800000000000000000000000000000000000000000000000000000000000
  1278. 0000000000000020F11202112220424488F222220400F1122220891222448880800000000000000000000000000000000000000000000000000000000000
  1279. 00000000000000200911C21F22204244891222220380811142208912227C8880800000000000000000000000000000000000000000000000000000000000
  1280. 0000000000000020091022102220424489122222004081114220891222408880800000000000000000000000000000000000000000000000000000000000
  1281. 0000000000000021091222112220444489122222244081108220891222448880800000000000000000000000000000000000000000000000000000000000
  1282. 0000000000000020F0F1C18E2220783C88F22221C380F9108220711222388860800000000000000000000000000000000000000000000000000000000000
  1283. 0000000000000020001000000000000400000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000
  1284. 0000000000000020011000000000004400000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000
  1285. 000000000000002000E000000000003800000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000
  1286. 0000000000000020000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000
  1287. 0000000000000020000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000
  1288. 0000000000000020000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000
  1289. 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000
  1290. 1000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1291. 17FFFFFFFFFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1292. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1293. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1294. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1295. 17FFE000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1296. 14003000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1297. 14001000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1298. 17FF1000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1299. 14011000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1300. 1407FC00000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1301. 147FFFFFFFFFF0A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1302. 14FFFFFFFFFFF8A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1303. 15C0F00000001CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1304. 1580B80000000CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1305. 1581C80000000CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1306. 15835E0000000CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1307. 1582A40000000CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1308. 1593FE0003F00CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1309. 1584973E1F7E1CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1310. 15E5DFEBFAAB7CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1311. 15FD53555555DCA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1312. 15AFEEAAAAAAACA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1313. 15D5555555555CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1314. 15AAAAAAAAAAACA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1315. 15D5555555555CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1316. 15AAAAAAAAAAACA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1317. 15D5555555555CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1318. 15AAAAAAAAAAACA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1319. 15D5555555555CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1320. 15AAAAAAAAAAACA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1321. 15D5555555555CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1322. T 480 53 81 126 62 480 53 T 0 db
  1323. 15AAAAAAAAAAACA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1324. 15D5555555555CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1325. 15AAAAAAAAAAACA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1326. 15D5555555555CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1327. 15AAAAAAAAAAACA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1328. 15D5555555555CA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1329. 15AAAAAAAAAAACA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1330. 14FFFFFFFFFFF8A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1331. 147FFFFFFFFFF0A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1332. 14000000003F80A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1333. 14000000001100A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1334. 140000000011FEA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1335. 14000000001000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1336. 14000000001800A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1337. 14000000000FFEA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1338. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1339. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1340. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1341. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1342. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1343. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1344. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1345. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1346. 17FFFFFFFFFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1347. 1000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1348. 17FFFFFFFFFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1349. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1350. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1351. 14000000000000A0000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFF800000000000000000000000000040000
  1352. 14000000000000A0000000000000000000000000000000000000000000000000000000000000002000000000000800000000000000000000000000040000
  1353. 143FFFFC000000A00000000000000000000000000000000000000000000000000000000000000023FFFFFFFFFF8800000000000000000000000000040000
  1354. 147FFFFE000000A0000000000000000000000000000000000000000000000000000000000000002E0000000000C800000000000000000000000000040000
  1355. 14E00007000000A000000000000000000000000000000000000000000000000000000000000000293DC70E419E4800000000000000000000000000040000
  1356. 14C00003000000A0000000000000000000000000000000000000000000000000000000000000002904288152104800000000000000000000000000040000
  1357. 14800001000000A0000000000000000000000000000000000000000000000000000000000000002908E7867B9C4800000000000000000000000000040000
  1358. 14FFFFFF000000A000000000003FFFFFFFFFFFFC000000000000000000000000000000000000002910208812424800000000000000000000000000040000
  1359. 14AAAAAB000000A0000000000020000000000004000000000000000000000000000000000000002911C72F119C4800000000000000000000000000040000
  1360. 14D55555000000A0000000000021FFFFE0000004000000000000000000000000000000000000002800000000004800000000000000000000000000040000
  1361. 14AAAAAB000000A0000000000023FFFFF0000004000000000000000000000000000000000000002FFFFFFFFFFFC800000000000000000000000000040000
  1362. 14D55555000000A0000000000027000038000004000000000000000000000000000000000000002800000000004800000000000000000000000000040000
  1363. 14AAAAAB000000A000000000002600001800000400000000000000000000000000000000000000280000FE00004800000000000000000000000000040000
  1364. 14D55555000000A000000000002400000800000400000000000000000000000000000000000000280F010000704800000000000000000000000000040000
  1365. 14AAAAAB000000A0000000000027FFFFF800000400000000000000000000000000000000000000287FF9FCFFFC4800000000000000000000000000040000
  1366. 14D55555000000A000000000002555555800000400000000000000000000000000000000000000288F0402C0FC4800000000000000000000000000040000
  1367. 14AAAAAB000000A0000000000026AAAAA80000040000000000000000000000000000000000000028FFFC02FFFC4800000000000000000000000000040000
  1368. 14D55555000000A000000000002555555800000400000000000000000000000000000000000000280001FC00004800000000000000000000000000040000
  1369. 14AAAAAB000000A0000000000026AAAAA8000004000000000000000000000000000000000000002800000000004800000000000000000000000000040000
  1370. 14D55555000000A00000000000255555580000040000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000000000040000
  1371. 14AAAAAB000000A0000000000026AAAAA80000040000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000000000040000
  1372. 14D555550F00F0A00000000000255555580000040000000000000000000000000000000000000028CCCCCCCCCC4800000000000000000000000000040000
  1373. 14AAAAAB198198A0000000000026AAAAA80000040000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000000000040000
  1374. 14D5555530C30CA00000000000255555580000040000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000000000040000
  1375. 14AAAAAB207E04A0000000000026AAAAA8000004000000000000000000000000000000000000002800000000004800000000000000000000000000040000
  1376. 14D55555207E04A0000800900125555558000004000000000000000000000000000000000000002800000000004800000000000000000000000000040000
  1377. 14FFFFFF30DB0CA00004004800A6AAAAA80000040000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000000000040000
  1378. 147FFFFE199998A00003FF27FE655555580000040000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000000000040000
  1379. 143FFFFC0F18F0A00004004800A6AAAAA87807840000000000000000000000000000000000000028CCCCCCCCCC4800000000000000000000000000040000
  1380. T 480 53 81 179 62 480 53 T 0 db
  1381. 14D55555207E04A0000800900125555558000004000000000000000000000000000000000000002800000000004800000000000000000000000000040000
  1382. 14FFFFFF30DB0CA00004004800A6AAAAA80000040000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000000000040000
  1383. 147FFFFE199998A00003FF27FE655555580000040000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000000000040000
  1384. 143FFFFC0F18F0A00004004800A6AAAAA87807840000000000000000000000000000000000000028CCCCCCCCCC4800000000000000000000000000040000
  1385. 141FFFF8001800A0000800900125555558CC0CC40000000000000000000000000000000000000028FCFCFCFCFC4C00480090012002400240000000040000
  1386. 14018300007E00A0000800000026AAAAA98618640000000000000000000000000000000000000028FCFCFCFCFC4A00240048009001200120000000040000
  1387. 1401830019FF98A000080000002555555903F0240000000000000000000000000000000000000028000000000049FF93FF27FE4FFC9FFC9C800000040000
  1388. 140183FFFFC3FFA0000800000026AAAAA903F024000000000000000000000000000000000000002800000000004A00240048009001200122200000040000
  1389. 140181FFFF81FFA0000800000027FFFFF986D8640000000000000000000000000000000000000028FCFCFCFCFC4C00480090012002400241400000040000
  1390. 14018000180018A0000800000023FFFFF0CCCCC40000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000800000040000
  1391. 1401C000180018A0000800000021FFFFE078C7840000000000000000000000000000000000000028CCCCCCCCCC4800000000000000000000800000040000
  1392. 1401FFFFFF81FFA0000800000020FFFFC000C0040000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000800000040000
  1393. 14007FFFFFC3FFA00008000000200C180003F0040000000000000000000000000000000000000028FCFCFCFCFC4800000000000000000000800000040000
  1394. 1400000019FF98A00014000000200C1800CFFCC55D5755D55000000000000000000000000000002800000000000800000000000000000000800000040000
  1395. 14000000007E00A00022000000200C1FFFFE1FFEAEABAAEAA800000000000000000000000000002000000000000800000000000000000000800000040000
  1396. 14000000000000A00008000000200C0FFFFC0FFD5755D5755000000000000000000000000000002F00001F00000800000000000000000000800000040000
  1397. 14000000000000A00014000000200C0000C000C6ABAAEABAA800000000000000000000000000002800001100400800000000000000000000800000040000
  1398. 14000000000000A00022000000200E0000C000C55755D5755000000000000000000000000000002844E7911CF1C800000000000000000000800000040000
  1399. 14000000000000A00008000000200FFFFFFC0FFEAEABAAEAA800000000000000000000000000002E44145F02422800000000000000000000800000040000
  1400. 14000000000000A000080000002003FFFFFE1FFD5D5755D75800000000000000000000000000002844F4541E43C800000000000000000002200000040000
  1401. 14000000000000A0000800000020000000CFFCC400000003B8000000000000000000000000000028291452224A0800000000000000000001400000040000
  1402. 14000000000000A000080000002000000003F00400000001F000000000000000000000000000002F10F7911E71E800000000000000000000800000040000
  1403. 17FFFFFFFFFFFFA000080000002000000000000400000002E800000000000000000000000000002000040000000800000000000000000002200000040000
  1404. 1000000000000020000800000020000000000004000000015000000000000000000000000000003FFFFFFFFFFFF800000000000000000001400000040000
  1405. 17FFFFFFFFFFFFA000080000002F00400000000400000002A800000000000000000000000000000020080000000000000000000000000000800000040000
  1406. 14000000000000A0000800000028800000000004000000015000000000000000000000000000000088220000000000000000000000000000800000040000
  1407. 141E01F0000000A00008000000289C4F0000000400000002A800000000000000000000000000000050140000000000000000000000000000800000040000
  1408. 14330318000000A000080000002F024880000004000000015000000000000000000000000000000020080000000000000000000000000000800000040000
  1409. 1461860C000000A000140000002A1E488000000400000002A800000000000000000000000000000020080000000000000000000000000000800000040000
  1410. 1440FC04000000A0002200000029224880000004000000035800000000000000000000000000000020080000000000000000000000000000800000040000
  1411. 1440FC04000000A00008000000289E488000000400000003B800000000000000000000000000000020080000000000000000000000000000800000040000
  1412. 1461B60C000000A000140000002000000000000400000001F000000000000000000000000000000020080000000000000000000000000000800000040000
  1413. 14333318000000A000220000003FFFFFFFFFFFFC00000002E800000000000000000000000000000020080000000000000000000000000000800000040000
  1414. 141E31F0000000A0000800000000000000000000000000015000000000000000000000000000000020080000000000000000000000000000800000040000
  1415. 14003000000000A000080000000000000000000000000002A800000000000000000000000000000020080000000000000000000000000002200000040000
  1416. 1400FE00000000A0000800000000000000000000000000015000000000000000000000000000000020080000000000000000000000000001400000040000
  1417. 1433FF98000000A000080000000000000000000000000002A800000000000000000000000000000020080000000000000000000000000000800000040000
  1418. 17FF07FFF80000A0000800000000000000000000000000015000000000000000000000000000000088220000000000000000000000000002200000040000
  1419. 17FF01FFFC0000A000080000000000000000000000000002A800000000000000000000000000000050140000000000000000000000000001400000040000
  1420. 143000180E0000A0000800000000000000000000000000035800000000000000000000000000000020080000000000000000000000000000800000040000
  1421. 14300018060000A000080000000000000000000000000003B800000000000000000000000000000088220000000000000000000000000000800000040000
  1422. 17FF03FF060000A000080000000000000000000000000001F000000000000000000000000000000050140000000000000000000000000000800000040000
  1423. 17FF87FF860000A000080000000000000000000000000002E800000000000000000000000000000020080000000000000000000000000000800000040000
  1424. 1433FF19860000A0001400000000000000000000000000015000000000000000000000000000000020080000000000000000000000000000800000040000
  1425. 1400FC01860000A000220000000000000000000000000002A800000000000000000000000000000020080000000000000000000000000000800000040000
  1426. 14000003870000A0000800000000000000000000000000015000000000000000000000000000000020080000000000000000000000000000800000040000
  1427. 14000007FF8000A000140000000000000000000000000002A800000000000000000000000000000020080000000000000000000000000000800000040000
  1428. 14000007FF8000A0002200000000000000000000000000015000000000000000000000000000000020080000000000000000000000000000800000040000
  1429. 14000000F80000A0000800005D5755D5755D5755D5755D56A800000000000000000000000000000020080000000000000000000000000000800000040000
  1430. 14000000BC0000A000080000BAAEABAAEABAAEABAAEABAAF5000000000000000000000000000000020080000000000000000000000000002200000040000
  1431. 14000001FC0000A000080000755D5755D5755D5755D5755EA800000000000000000000000000000020080000000000000000000000000001400000040000
  1432. 14000001DB0000A000080000EABAAEABAAEABAAEABAAEABD5000000000000000000000000000000020080000000000000000000000000000800000040000
  1433. 140000016E0000A000080000755D5755D5755D5755D5755EA800000000000000000000000000000088220000000000000000000000000002200000040000
  1434. 14000003E70000A000080000BAAEABAAEABAAEABAAEABAAF5000000000000000000000000000000050140000000000000000000000000001400000040000
  1435. 14000002F70000A0000800005D5755D5755D5755D5755D56A800000000000000000000000000000020080000000000000000000000000000800000040000
  1436. 14000007DE0000A000080000AA00000000000000000000000000000000000000000000000000000088220000000000000000000000000000800000040000
  1437. 1400000DFB0000A0000800005400000000000000000000000000000000000000000000000000000050140000000000000000000000000000800000040000
  1438. T 480 53 81 232 62 480 53 T 0 db
  1439. 14000003E70000A000080000BAAEABAAEABAAEABAAEABAAF5000000000000000000000000000000050140000000000000000000000000001400000040000
  1440. 14000002F70000A0000800005D5755D5755D5755D5755D56A800000000000000000000000000000020080000000000000000000000000000800000040000
  1441. 14000007DE0000A000080000AA00000000000000000000000000000000000000000000000000000088220000000000000000000000000000800000040000
  1442. 1400000DFB0000A0000800005400000000000000000000000000000000000000000000000000000050140000000000000000000000000000800000040000
  1443. 14000007F70000A000080000AA00000000000000000000000000000000000000000000000000000020080000000000000000000000000000800000040000
  1444. 14000007FF8000A0001400005400000000000000000000000000000000000000000000000000000020080000000000000000000000000000800000040000
  1445. 1400000FFF4000A000220000AA00000000000000000000000000000000000000000000000000000020080000000000000000000000000000800000040000
  1446. 1400003FDFA000A0000800005400000000000000000000000000000000000000000000000000000020080000000000000000000000000000800000040000
  1447. 1400003BBFD000A000140000AA00000000000000000000000000000000000000000000000000000020080000000000000000000000000000800000040000
  1448. 1400001360D000A000220000D600000000000000000000000000000000000000000000000000000020080000000000000000000000000000800000040000
  1449. 1400005BF2E800A000080000EE00000000000000000000000000000000000000000000000000000020080000000000000000000000000000800000040000
  1450. 1400006BFB7800A0000800007C00000000000000000000000000000000000000000000000000000020080000000000000000000000000000800000040000
  1451. 140002DA1BF800A000080000BA00000000000000000000000000000000000000000000000000000020080000000000000000000000000002200000040000
  1452. 140000B997FC00A0000800005400000000000000000000000000000000000000000000000000000020080000000000000000000000000001400000040000
  1453. 140001F7A77800A000080000AA00000000000000000000000000000000000000000000000000000088220000000000000000000000000000800000040000
  1454. 1400377066E400A0000800005400000000000000000000000000000000000000000000000000000050140000000000000000000000000002200000040000
  1455. 1401795BCE9C00A000080000AA00000000000000000000000000000000000000000000000000000020080000000000000000000000000001400000040000
  1456. 140018FBFF7F80A0000800005400FFFFFFFFFFFFE00000000000000000000000000000000000000088220000000000000000000000000000800000040000
  1457. 140296863FE260A000080000AA00800000000000200000000000000000000000000000000000000050140000000000000000000000000000800000040000
  1458. 14082FF7F7DFF8A000080000D600FFFC0000000020000000000000000000000FFFFFFFFFFFFF000020080000000000000000000000000000800000040000
  1459. 14000000000000A000140000EE00800600000000200000000000000000000008000000000001000020080000000000000000000000000000800000040000
  1460. 17FFFFFFFFFFFFA0002200007C00800200000000200000000000000000000008000000000001000020080000000000000000000000000000800000040000
  1461. 100000000000002000080000BA00FFE20000000020000000000000000000000FFFFFFC000001000020080000000000000000000000000000800000040000
  1462. 17FFFFFFFFFFFFA000140000540080220000000020000000000000000000000FFFFFFE000001000020080000000000000000000000000000800000040000
  1463. 14000000000000A000220000AA0080FF8000000028008800900120024002400800000E0000010000200800000000007FFFFFFFFFFFF00000800000040000
  1464. 14000000000000A00008000054008FFFFFFFFFFE240044004800900120012008000006000001000020080000000000400000000000100000800000040000
  1465. 17FFFFFE000000A000080000AA009FFFFFFFFFFF33FF33FF27FE4FFC9FFC9FFFFFFFC60000014004A00800000000007FFE00000000100000800000040000
  1466. 17FFFFFF000000A0000800005575B81E00000003A4004400480090012001200FFFFFE6000001800920080000000000400300000000100002200000040000
  1467. 14000007000000A000080000AABAB01700000001A800880090012002400240080000660000013FF260080000000000400100000000100001400000040000
  1468. 14000003000000A000080000D75DB03900000001A000000000000000000000080000660780018009000800000000007FF100000000100000800000040000
  1469. 17FFFFE3000000A000080000EEAEB06BC0000001A000000000000000000000080000FF0CC001400480220555D5755D401100000000100002200000040000
  1470. 17FFFFF3000000A0000800007D5DB05480000001A000000000000000000000080000FF186001000000140AAAEABAAEC07FC0000000100001400000040000
  1471. 14000033000000A000080000BABAB27FC0007E01A00000000000000000000008000066186001000000080555755D5747FFFFFFFFFF100000800000040000
  1472. 1400003303C000A0000800005575B092E7C3EFC3A00000000000000000000008000066186001000000220BAABAAEABCFFFFFFFFFFF900000800000040000
  1473. 1400007F866000A0000800000000BCBBFD7F556FA000000000000000000000080000661860010000001407D5755D575C0F00000001D00000800000040000
  1474. 1400007F8C3000A0001400000000BFAA6AAAAABBA000000000000000000000080000C30CC001000000080EEAEABAAED80B80000000D00000800000040000
  1475. 140000330C3000A0002200000000B5FDD5555555A00000000000000000000008000181878001000000080D75D5755D581C80000000D00000800000040000
  1476. 140000330C3000A0000800000000BAAAAAAAAAABA00000000000000000000008000381C30001000000080AA00000005835E0000000D00000800000040000
  1477. 140000330C3000A0001400000000B55555555555A00000000000000000000008000300FF0001000000080540000000582A40000000D00000800000040000
  1478. 14000061866000A0002200000000BAAAAAAAAAABA00000000000000000000008000300FF0001000000080AA0000000593FE0003F00D00000800000040000
  1479. 140000C0C3C000A0000800000000B55555555555AAAEABAAEABAAEABAAEABAA8000381C30001000000080540000000584973E1F7E1D00000800000040000
  1480. 140001C0E18000A0000800000000BAAAAAAAAAABB55755D5755D5755D5755D58000181878001000000080AA00000005E5DFEBFAAB7D00000800000040000
  1481. 140001807F8000A0000800000000B55555555555AAABAAEABAAEABAAEABAAEA80000C30CC0010000000805400000005FD53555555DD00002200000040000
  1482. 140001807F8000A0000800000000BAAAAAAAAAABB555D5755D5755D5755D5758000066186001000000080BA00000005AFEEAAAAAAAD00001400000040000
  1483. 140001C0E18000A0000800000000B55555555555AAABAAEABAAEABAAEABAAEA80000661860010000000807C00000005D5555555555D00000800000040000
  1484. 140000C0C3C000A0000800000000BAAAAAAAAAABB55755D5755D5755D5755D58000066186001000000220EE00000005AAAAAAAAAAAD00002200000040000
  1485. 14000061866000A0000800000000B55555555555AAAEABAAEABAAEABAAEABAA80000FF1860015755D5555D600000005D5555555555D00001400000040000
  1486. 140000330C3000A0000800000000BAAAAAAAAAABA000000000000000000000080000FF0CC001ABAAEA88AEA00000005AAAAAAAAAAAD00000800000040000
  1487. 140000330C3000A0000800000000B55555555555A0000000000000000000000800006607800155D5756357400000005D5555555555D00000800000040000
  1488. 140000330C3000A00008000000009FFFFFFFFFFF200000000000000000000008000066000001AAEABA94ABA00000005AAAAAAAAAAAD00000800000040000
  1489. 1400007F8C3000A00014000000008FFFFFFFFFFE20000000000000000000000800006600000155D5754957400000005D5555555555D00000800000040000
  1490. 1400007F866000A00022000000008000000007F0200000000000000000000008000067FFFFFFABAAEA88AEA00000005AAAAAAAAAAAD00000800000040000
  1491. 1400003303C000A0000800000000800000000220200000000000000000000008000063FFFFFF5755D5495D400000005D5555555555D00000800000040000
  1492. 14000033000000A000140000000080000000023FE800900120000000000000080000600000010000000800000000005AAAAAAAAAAAD00000800000040000
  1493. 14000033000000A00022000000008000000002002400480090000000000000080000700000010000000800000000005D5555555555D00000800000040000
  1494. 14000033FFFFFFA000080000000080000000030033FF27FE4FF800000000000800007FFFFFFF0000000800000000005AAAAAAAAAAAD00000800000040000
  1495. 14000031FFFFFFA00008000000008000000001FFE4004800900800000000000800003FFFFFFF0000000800000000004FFFFFFFFFFF900000800000040000
  1496. T 480 52 81 285 62 480 52 T 0 db
  1497. 14000033000000A000140000000080000000023FE800900120000000000000080000600000010000000800000000005AAAAAAAAAAAD00000800000040000
  1498. 14000033000000A00022000000008000000002002400480090000000000000080000700000010000000800000000005D5555555555D00000800000040000
  1499. 14000033FFFFFFA000080000000080000000030033FF27FE4FF800000000000800007FFFFFFF0000000800000000005AAAAAAAAAAAD00000800000040000
  1500. 14000031FFFFFFA00008000000008000000001FFE4004800900800000000000800003FFFFFFF0000000800000000004FFFFFFFFFFF900000800000040000
  1501. 14000030000000A00008000000009E200000000028009001200800000000000800000000000100000008000000000047FFFFFFFFFF100002200000040000
  1502. 14000038000000A00008000000009100000000002000000000080000000000080000000000010000000800000000004000000003F8100001400000040000
  1503. 1400003FFFFFFFA000080000000091244E2C0000200000000008000000000009C06000000001000000080000000000400000000110100000800000040000
  1504. 1400001FFFFFFFA00008000000009E245132000020000000002200000000000880200800000100000022000000000040000000011FF00002200000040000
  1505. 14000000000000A000080000000094245E20000020000000001400000000000880201C000001000000140000000000400000000100100001400000040000
  1506. 14000000000000A0000800000000922290200000200000000008000000000008962388000001000000080000000000400000000180100000800000040000
  1507. 14000000000000A000080000000091210F2000002000000000220000000000089924480000010000002200000000004000000000FFF00000800000040000
  1508. 14000000000000A0000800000000800000000000200000000014000000000008912788000001000000140000000000480100000000100000800000040000
  1509. 14000000000000A0000800000000800000000000200000000008000000000008912408000001000000080000000000480100000000100000800000040000
  1510. 14000000000000A0001400000000FFFFFFFFFFFFE00000000008000000000009D173C6000001000000080000000000483923800000100000800000040000
  1511. 14000000000000A0002200000000000000000005400000000008000000000008000000000001000000080000000000480544400000100000800000040000
  1512. 14000000000000A000080000000000000000000AA0000000000800000000000FFFFFFFFFFFFF000000080000000000483D87800000100000800000040000
  1513. 14000000000000A0001400000000000000000005400000000008000000000000000000000000000000080000000000484544000000100000800000040000
  1514. 14000000000000A000220000000000000000000AA000000000080000000000000000000000000000000800000000004F3D23C00000100000800000040000
  1515. 14000000000000A0000800000000000000000005400000000008000000000000000000000000000000080000000000400000000000100000800000040000
  1516. 17FFFFFFFFFFFFA000080000000000000000000AA00000000008000000000000000000000000000000080000000000400000000000100000800000040000
  1517. 100000000000002000080000000000000000000D6000000000080000000000000000000000000000000800000000007FFFFFFFFFFFF00002200000040000
  1518. 17FFFFFFFFFFFFA000080000000000000000000EE00000000008000000000000000000000000000000080000000000000000A80040000001400000040000
  1519. 17FFFFFFFFFFFFA0000800000000000000000007C00000000022000000000000000000000000000000220000000000000001540110000000800000040000
  1520. 17FFFFFFFFF9FFA000080000000000000000000BA00000000014000000000000000000000000000000140000000000000000A800A0000002200000040000
  1521. 17FFFFFFFFF0FFA0000800000000000000000005400000000008000000000000000000000000000000080000000000000001540040000001400000040000
  1522. 17FFFFFFFFE07FA000080000000000000000000AA00000000022000000000000000000000000000000220000000000000000A80040000000800000040000
  1523. 17FFFFFFFFC03FA0000800000000000000000005400000000014000000000000000000000000000000140000000000000001540040000000800000040000
  1524. 17FFFFFFFF801FA000080000000000000000000AA00000000008000000000000000000000000000000080000000000000001AC0040000000800000040000
  1525. 17FFFFFFFFF9FFA0001400000000000000000005400000000008000000000000000000000000000000080000000000000001DC0040000000800000040000
  1526. 17FFFFFFFFF9FFA000220000000000000000000AA00000000008000000000000000000000000000000080000000000000000F80040000000800000040000
  1527. 17FFFFFFFFF9FFA000080000000000000000000D600000000008000000000000000000000000000000080000000000000001740040000000800000040000
  1528. 17FFFFFFFFF9FFA000140000000000000000000EE0000000000800000000001FFFFFFFFFFFFE000000080000000000000000A80040000002200000040000
  1529. 17FFFFFFFFF9FFA0002200000000000000000007C00000000008000000000010000000000002000000080000000000000001540040000001400000040000
  1530. 17FFFFFFFFF9FFA000080000000000000000000BA000000000080000000000107807C0000002000000080000000000000000A80040000000800000040000
  1531. 17FFFFFFFFF9FFA0000800000000000000000005400000000008000000000010CC0C60000002000000080000000000000001540110000002200000040000
  1532. 17FFFFFFFFF9FFA000080000000000000000000AA00000000008024004800491861830000002000000080000000000000000A800A0000000800000040000
  1533. 17FFFFFFFFF9FFA000080000000000000000000540000000000801200240025103F010000002000000080000000000000001540040000002200000040000
  1534. 17FFFFFFFFF9FFA000080000000000000000000AA0000000000FFC9FF93FF93103F010000002000000220000000000000001AC0110000001400000040000
  1535. 17FFFFFFFFF9FFA000080000000000000000000540000000000001200240025186D830000002000000140000000000000001DC00A0000000800000040000
  1536. 178000007FF9FFA000080000000000000000000AA00000000000024004800490CCCC60000002000000080000000000000000F80040000000800000040000
  1537. 17BFFFFF7FF9FFA000080000000000000000000D60000000000000000000001078C7C0000002000000220000000000000001740040000000800000040000
  1538. 17A398337FF9FFA000080000000000000000000EE0000000000000000000001000C000000002000000140000000000000000A80040000000800000040000
  1539. 17AD6EED7FF9FFA0000800000000000000000007C0000000000000000000001003F800000002000000080000000000000001540040000000800000040000
  1540. 17AD0EE17FF9FFA000140000000000000000000BA00000000000000000000010CFFE60000002000000080000000000000000A80040000000800000040000
  1541. 17AD6EED7FF9FFA0002200000000000000000005755D5755D5755D5755D5755FFC1FFFE00002000000080000000000000001540040000000800000040000
  1542. 17A36EED7FF9FFA000080000000000000000000ABAAEABAAEABAAEABAAEABABFFC07FFF00002000000080000000000000000A80040000000800000040000
  1543. 17BFFFFF7FF9FFA00014000000000000000000055D5755D5755D5755D5755D50C00060380002000000080000000000000001540040000000800000040000
  1544. 178000007FF9FFA000220000000000000000000AAEABAAEABAAEABAAEABAAEB0C00060180002000000080000000000000001AC0040000000800000040000
  1545. 17FFFFFFFFF9FFA00008000000000000000000055D5755D5755D5755D5755D5FFC0FFC180002000000080000000000000001DC0040000002200000040000
  1546. 17FFFFFFFFF9FFA000080000000000000000000ABAAEABAAEABAAEABAAEABABFFE1FFE180002000000080000000000000000F80110000001400000040000
  1547. 17FFFFFFFFF9FFA0000800000000000000000005755D5755D5755D5755D57550CFFC661800020000000800000000000000017400A0000000800000040000
  1548. 17FFFFFFFFF9FFA000080000000000000000000000000000000000000000001003F006180002800900080000000000000000A80040000002200000040000
  1549. 17FFFFFFFFF9FFA000080000000000000000000000000000000000000000001000000E1C0003001200080000000000000001540110000001400000040000
  1550. 17FFFFFFFFF9FFA000080000000000000000000000000000000000000000001000001FFE00027FE4FFF80000000000000000A800A0000000800000040000
  1551. 17FFFFFFFFF9FFA000080000000000000000000000000000000000000000001000001FFE0003001200000000000000000001540040000000800000040000
  1552. 17FFFFFFFFF9FFA0000800000000000000000000000000000000000000000010000003E00002800900000000000000000000A80040000000800000040000
  1553. T 480 53 81 337 62 480 53 T 0 db
  1554. 17FFFFFFFFF9FFA000080000000000000000000000000000000000000000001000000E1C0003001200080000000000000001540110000001400000040000
  1555. 17FFFFFFFFF9FFA000080000000000000000000000000000000000000000001000001FFE00027FE4FFF80000000000000000A800A0000000800000040000
  1556. 17FFFFFFFFF9FFA000080000000000000000000000000000000000000000001000001FFE0003001200000000000000000001540040000000800000040000
  1557. 17FFFFFFFFF9FFA0000800000000000000000000000000000000000000000010000003E00002800900000000000000000000A80040000000800000040000
  1558. 17FFFFFFFFF9FFA0000800000000000000000000000000000000000000000010000002F00002000000000000000000000001540040000000800000040000
  1559. 167FFFFFFFF9FFA0000800000000000000000000000000000000000000000010000007F00002000000000000000000000001AC0040000000800000040000
  1560. 163FFFFFFFF9FFA00014000000000000000000000000000000000000000000100000076C0002000000000000000000000001DC0040000000800000040000
  1561. 161FFFFFFFF9FFA0002200000000000000000000000000000000000000000010000005B80002000000000000000000000000F80040000000800000040000
  1562. 160FFFFFFFF9FFA000080000000000000000000000000000000000000000001000000F9C0002000000000000000000000001740040000000800000040000
  1563. 160000000001FFA000140000000000000000000000000000000000000000001000000BDC0002000000000000000000000000A80040000000800000040000
  1564. 160000000001FFA000220000000000000000000000000000000000000000001000001F780002000000000000000000000001540040000000800000040000
  1565. 160FFFFFFFFFFFA0000800000000000000012001200240048009001200240050000037EC0002000000000000000000000000A80040000002200000040000
  1566. 161FFFFFFFFFFFA000080000000000000002400240048009001200240048009000001FDC0002000000000000000000000001540110000001400000040000
  1567. 163FFFFFFFFFFFA00008000000000000001C9FFC9FF93FF27FE4FFC9FF93FF3000001FFE0002000000000000000000000000A800A0000000800000040000
  1568. 167FFFFFFFFFFFA000080000000000000012400240048009001200240048009000003FFD0002000000000000000000000001540040000002200000040000
  1569. 17FFFFFFFFFFFFA00008000000000000001120012002400480090012002400500000FF7E8002000000000000000000000001AC0110000001400000040000
  1570. 17FFFFFFFFFFFFA00008000000000000001000000000000000000000000000100000EEFF4002000000000000000000000001DC00A0000000800000040000
  1571. 17FFFFFFFFFFFFA000080000000000000010000000000000000000000000001000004D834002000000000000000000000000F80040000000800000040000
  1572. 17FFFFFFFFFFFFA000080000000000000044000000000000000000000000001000016FCBA002000000000000000000000001740040000000800000040000
  1573. 17FFFFFFFFFFFFA00008000000000000002800000000000000000000000000100001AFEDE002000000000000000000000000A80040000000800000040000
  1574. 1000000000000020000800000000000000100000000000000000000000000010000000000002000000000000000000000001540040000000800000040000
  1575. 17FFFFFFFFFFFFA00008000000000000004400000000000000000000000000178C00001F0002000000000000000000000000A80040000000800000040000
  1576. 14000000000000A0001400000000000000280000000000000000000000000014400000100002000000000000000000000001540040000000800000040000
  1577. 14000000000000A00022000000000000001000000000000000000000000000144488E39044E2000000000000000000000000A80040000000800000040000
  1578. 14E00000000000A00008000000000000001000000000000000000000000000178489161E4412000000000000000000000001540040000000800000040000
  1579. 17FFFFFFF00000A00014000000000000001000000000000000000000000000170489E41044F2000000000000000000000001AC0040000000800000040000
  1580. 16EAAAAAB00000A0002200000000000000100000000000000000000000000015845104102912000000000000000000000001DC0040000002200000040000
  1581. 15F7D5F5500000A00008000000000000001000000000000000000000000000144420F41F10F2000000000000000000000000F80040000001400000040000
  1582. 16EBEAFAB00000A0000800000000000000100000000000000000000000000010000000000002000000000000000000000001740110000000800000040000
  1583. 15F5F57D500000A000080000000000000010000000000000000000000000001FFFFFFFFFFFFE000000000000000000000000A800A0000002200000040000
  1584. 16EBEAFAB00000A0000800000000000000100000000000000000000000000000000000000000000000000000000000000001540040000001400000040000
  1585. 15F7D5F5500000A0000800000000000000100000000000000000000000000000000000000000000000000000000000000000A80110000000800000040000
  1586. 16EAAAAAB00000A00008000000000000001000000000000000000000000000000000000000000000000000000000000000015400A0000000800000040000
  1587. 15F55555500000A0000800000000000000440000000000000000000000000000000000000000000000000000000000000000A80040000000800000040000
  1588. 17FFFFEAB00000A0000800000000000000280000000000000000000000000000000000000000000000000000000000000001540040000000800000040000
  1589. 14E0005DD00000A0000800000000000000100000000000000000000000000000000000000000000000000000000000000000A80040000000800000040000
  1590. 1400006FB00000A0000800000000000000440000000000000000000000000000000000000000000000000000000000000001540040000000800000040000
  1591. 1400005FD00000A000140000000000000028000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFC000800000040000
  1592. 1400006FB00000A0002200000000000000100000000000000000000000000000000000000000000000000000000000020000000000004000800000040000
  1593. 14000057500000A0000800000000000000100000000000000000000000000000000000000000000000000000000000020F00F80000004000800000040000
  1594. 1400006AB00000A00014000000000000001000000000000000000000000000000000000000000000000000000000000219818C0000004000800000040000
  1595. 14000055500000A00022000000000000001000000000000000000000000000000000000000000000000000000000000230C3060000004000800000040000
  1596. 1400006AB00000A000080000000000000010000000000000000000000000000000000000000000000000000000000002207E020000004002200000040000
  1597. 14000055500000A000080000000000000010000000000000000000000000000000000000000000000000000000000002207E020000004001400000040000
  1598. 1400006AB00000A00008000000000000001000000000000000000000000000000000000000000000000000000000000230DB060000004000800000040000
  1599. 1400005DD00001A00008000000000000001000000000000000000000000000000000000000000000000000000000000219998C0000004002200000040000
  1600. 1400006FB00001A0000800000000000000100000000000000000000000000000000000000000000000000000000000020F18F80000004001400000040000
  1601. 1400005FD00001A0000800000000000000100000000000000000000000000000000000000000000000000000000000020018000000004000800000040000
  1602. 1400006FB00039A000080000000000000010000000000000000000000000000000000000000000000000000000000002007F000000004000800000040000
  1603. 140000575FFFFFA00008000000000000004400000000000000000000000000000000000000000000000000000000000219FFCC0000004000800000040000
  1604. 1400006AAAAABBA000080000000000000028000000000000000000000000000000000000000000000000000000000003FF83FFFC00004000800000040000
  1605. 1400005555557DA000080000000000000010000000000000000000000000000000000000000000000000000000000003FF80FFFE00004000800000040000
  1606. 1400006AFAFABBA00014000000000000004400000000000000000000000000000000000000000000000000000000000218000C0700004000800000040000
  1607. 140000557D7D7DA00022000000000000002800000000000000000000000000000000000000000000000000000000000218000C0300004000800000040000
  1608. 1400006ABEBEBBA000080000000000000010000000000000000000000000000000000000000000000000000000000003FF81FF8300004002200000040000
  1609. 140000557D7D7DA000140000000000000010000000000000000000000000000000000000000000000000000000000003FFC3FFC300004001400000040000
  1610. 1400006AFAFABBA00022000000000000001000000000000000000000000000000000000000000000000000000000000219FF8CC300004000800000040000
  1611. T 480 53 81 390 62 480 53 T 0 db
  1612. 140000557D7D7DA00022000000000000002800000000000000000000000000000000000000000000000000000000000218000C0300004000800000040000
  1613. 1400006ABEBEBBA000080000000000000010000000000000000000000000000000000000000000000000000000000003FF81FF8300004002200000040000
  1614. 140000557D7D7DA000140000000000000010000000000000000000000000000000000000000000000000000000000003FFC3FFC300004001400000040000
  1615. 1400006AFAFABBA00022000000000000001000000000000000000000000000000000000000000000000000000000000219FF8CC300004000800000040000
  1616. 1400005555557DA00008000000003FFFFFFFFFFFF8000000000000000000000000000000000000000000000000000002007E00C300005000800000040000
  1617. 1400006AAAAABBA000080000000020000000000008000000000000000000000000000000000000000000000000000002000001C380006001800000040000
  1618. 1400007FFFFFFFA000080000000023FFFFFFFFFF88000000000000000000000000000000000000000000000000000002000003FFC0005FFE800000040000
  1619. 14000000000038A00008000000002E0000000000C8000000000000000000000000000000000000000000000000000002000003FFC0006001000000040000
  1620. 14000000000000A0000800000000293DC70E419E480000000000000000000000000000000000000000000000000000020000007C00005000800000040000
  1621. 14000000000000A0000800000000290428815210480000000000000000000000000000000000000000000000000000020000005E00004000000000040000
  1622. 14000000000000A00008000000002908E7867B9C48000000000000000000000000000000000000000000000000000002000000FE00004000000000040000
  1623. 14000000000000A000080000000029102088124248000000000000000000000000000000000000000000000000000002000000ED80004000000000040000
  1624. 14000000000000A00008000000002911C72F119C48000000000000000000000000000000000000000000000000000002000000B700004000000000040000
  1625. 14000000000000A000080000000028000000000048000000000000000000000000000000000000000000000000000002000001F380004000000000040000
  1626. 14000000000000A00014000000002FFFFFFFFFFFC80000000000000000000000000000000000000000000000000000020000017B80004000000000040000
  1627. 14000000000000A000220000000028000000000048000000000000000000000000000000000000000000000000000002000003EF00004000000000040000
  1628. 14000000000000A0000800000000280000FE000048000000000000000000000000000000000000000000000000000002000006FD80004000000000040000
  1629. 14000000000000A0001600000000280F0100007048000000000000000000000000000000000000000000000000000002000003FB80004000000000040000
  1630. 17FFFFFFFFFFFFA0002200000000287FF9FCFFFC48000000000000000000000000000000000000000000000000000002000003FFC0004000000000040000
  1631. 1000000000000020000800000000288F0402C0FC48000000000000000000000000000000000000000000000000000002000007FFA0004000000000040000
  1632. 17FFFFFFFFFFFFA000080000000028FFFC02FFFC4800000000000000000000000000000000000000000000000000000200001FEFD0004000000000040000
  1633. 14000000000000A0000800000000280001FC00004800000000000000000000000000000000000000000000000000000200001DDFE8004000000000040000
  1634. 143FFFFFFFFFF8A000080000000028000000000048000000000000000000000000000000000000000000000000000002000009B068004000000000040000
  1635. 14E0000000000CA000080000000028FCFCFCFCFC4800000000000000000000000000000000000000000000000000000200002DF974004000000000040000
  1636. 1493DC70E419E4A000080000000028FCFCFCFCFC48000000000000000000000000000000000000000000000000000002000035FDBC004000000000040000
  1637. 14904288152104A000080000000028CCCCCCCCCC480000000000000000000000000000000000000000000000000000028000000000004000000000040000
  1638. 14908E7867B9C4A000090012002428FCFCFCFCFC48000000000000000000000000000000000000000000000000000002801001F000004000000000040000
  1639. 14910208812424A0000A0024004828FCFCFCFCFC480000000000000000000000000000000000000000000000000000028010010000004000000000040000
  1640. 14911C72F119C4A0000CFFC9FF93E8000000000048000000000000000000000000000000000000000000000000000002839039044E784000000000040000
  1641. 14800000000004A000020024004828000000000048000000000000000000000000000000000000000000000000000002805245E441444000000000040000
  1642. 14FFFFFFFFFFFCA000010012002428FCFCFCFCFC4800000000000000000000000000000000000000000000000000000283DC7D044F444000000000040000
  1643. 14800000000004A000000000000028FCFCFCFCFC480000000000000000000000000000000000000000000000000000028452410391444000000000040000
  1644. 1480000FE00004A000000000000028CCCCCCCCCC48000000000000000000000000000000000000000000000000000002F3D13DF10F784000000000040000
  1645. 1480F010000704A000000000000028FCFCFCFCFC480000000000000000000000000000000000000000000000000000020000000000404000000000040000
  1646. 1487FF9FCFFFC4A000000000000028FCFCFCFCFC48000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFC000000000040000
  1647. 1488F0402C0FC4A00000000000002800000000004800000000000000000000000000000000000000000000000000000000000A0000000000000000040000
  1648. 148FFFC02FFFC4A0000000000000280000000000480000000000000000000000000000000000000000000000000000000000040000000000000000040000
  1649. 1480001FC00004A000000000000028FCFCFCFCFC480000000000000000000000000000000000000000000000000000000000040000000000000000040000
  1650. 14800000000004A000000000000028FCFCFCFCFC480000000000000000000000000000000000000000000000000000000000040000000000000000040000
  1651. 148FCFCFCFCFC4A000000000000028CCCCCCCCCC480000000000000000000000000000000000000000000000000000000000040000000000000000040000
  1652. 148FCFCFCFCFC4A000000000000028FCFCFCFCFC480000000000000000000000000000000000000000000000000000000000040000000000000000040000
  1653. 148CCCCCCCCCC4A000000000000028FCFCFCFCFC480000000000000000000000000000000000000000000000000000000000040000000000000000040000
  1654. 148FCFCFCFCFC4A0000000000000280000000000080000000000000000000000000000000000000000000000000000000000040000000000000000040000
  1655. 148FCFCFCFCFC4A0000000000000280000000000080000000000000000000000000000000000000000000000000000000000040000000000000000040000
  1656. 14800000000004A00000000000002000000C7C00080000000000000000000000000000000000000000000000000000000000040000000000000000040000
  1657. 14800000000004A00000000000003F0080044000080000000000000000000000000000000000000000000000000000000000040000000000000000040000
  1658. 148FCFCFCFCFC4A00000000000002439E3844001C92001200240048004800480090012002400240048009001200120024004840000000000000000040000
  1659. 148FCFCFCFCFC4A00000000000002444804479082A4002400480090009000900120024004800480090012002400240048009040000000000000000040000
  1660. 148CCCCCCCCCC4A0000000000000244483C44109EC9FFC9FF93FF27FF27FF27FE4FFC9FF93FF93FF27FE4FFC9FFC9FF93FF27C0000000000000000040000
  1661. 148FCFCFCFCFC4A00000000000002444944440922A4002400480090009000900120024004800480090012002400240048009000000000000000000040000
  1662. 148FCFCFCFCFC4A0000000000000243863CE7C61E92001200240048004800480090012002400240048009001200120024004800000000000000000040000
  1663. 14800000000004A0000000000000200000000000080000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1664. 14800000000004A00000000000003FFFFFFFFFFFF80000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1665. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1666. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1667. 148CCCCCCCCCC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1668. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1669. T 480 53 81 443 62 480 53 T 0 db
  1670. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1671. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1672. 148CCCCCCCCCC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1673. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1674. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1675. 14800000000004A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1676. 14800000000004A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1677. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1678. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1679. 148CCCCCCCCCC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1680. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1681. 148FCFCFCFCFC4A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1682. 14800000000004A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1683. 14800000000004A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1684. 147FFFFFFFFFF8A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1685. 14000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1686. 17FFFFFFFFFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1687. 1000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1688. 1FFFFFFFFFFFFFE0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1689. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1690. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1691. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1692. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1693. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1694. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1695. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1696. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1697. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1698. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1699. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1700. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1701. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1702. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1703. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1704. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1705. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1706. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1707. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1708. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1709. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1710. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1711. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1712. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1713. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1714. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1715. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1716. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1717. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1718. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1719. 0000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000
  1720. 000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000
  1721. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1722. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1723. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1724. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1725. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1726. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1727. 551 182 gm
  1728. (nc 32 30 762 582 6 rc)kp
  1729. bu fc
  1730. 2 F /|______Times-Roman fnt
  1731. bn
  1732. -0.08358 0.(Figure 2.1  System Dynamics Environment [Eric87])ashow
  1733. 587 81 gm
  1734. -0.01545 0.(A canvas is the area in which the picture for a visual program is created.  The main operations)ashow
  1735. 611 81 gm
  1736. 0.52413 0. 32 0.05241 0.(that a user can perform are related to creating and modifying the visual objects in a canvas.)awidthshow
  1737. 635 81 gm
  1738. -0.07955 0.(There are two types of visual objects in a FOIBLE application, boxes and links.)ashow
  1739. 671 81 gm
  1740. -0.05258 0.(A visual program can be thought of as a directed graph, with boxes corresponding to the nodes)ashow
  1741. 695 81 gm
  1742. 0.07278 0. 32 0.00727 0.(of the graph and links corresponding to the arcs between the nodes.  Links connect boxes and)awidthshow
  1743. F T cp
  1744. %%Page: ? 10
  1745. op
  1746. 32 30 xl
  1747. 1 1 pen
  1748. 735 303 gm
  1749. (nc 32 30 762 582 6 rc)kp
  1750. 1 setTxMode
  1751. 0 fs
  1752. 12 fz
  1753. bu fc
  1754. 2 F /|______Times-Roman fnt
  1755. bn
  1756. (6)show
  1757. 93 81 gm
  1758. -0.01927 0.(often describe the flow of data or control between boxes.  There can be various types of boxes)ashow
  1759. 117 81 gm
  1760. 0.28503 0. 32 0.02850 0.(and links in an application.  SDE has five different types of boxes and two different types of)awidthshow
  1761. 141 81 gm
  1762. 1.00097 0. 32 0.10009 0.(links.  The boxes and links have different visual representations, which make them easily)awidthshow
  1763. 165 81 gm
  1764. 0.24108 0. 32 0.02410 0.(distinguishable.  Each type of box performs a different type of operation, based on the boxes)awidthshow
  1765. 189 81 gm
  1766. 0.00717 0. 32 0.00071 0.(that are connected to it, and each type of link is used to transfer different kinds of information)awidthshow
  1767. 213 81 gm
  1768. -0.03700 0.(between the boxes.)ashow
  1769. 249 81 gm
  1770. 0.64468 0. 32 0.06446 0.(Each application has tools that are used to perform operations in a canvas.  The tools in an)awidthshow
  1771. 273 81 gm
  1772. 0.36956 0. 32 0.03695 0.(application are used to perform operations such as adding new boxes to the system, creating)awidthshow
  1773. 297 81 gm
  1774. 0.25314 0. 32 0.02531 0.(links between boxes, moving objects within a canvas, and entering data.  Each tool performs)awidthshow
  1775. 321 81 gm
  1776. -0.01647 0.(operations that correspond to mouse and keyboard inputs that are given by the user.  Only one)ashow
  1777. 345 81 gm
  1778. -0.13568 0.(tool is active at any time.  The user activates a tool by selecting it in the palette.)ashow
  1779. 381 81 gm
  1780. -0.08296 0.(The palette presents a menu of icons that represent the tools that are available in an application.)ashow
  1781. 405 81 gm
  1782. 0.53268 0. 32 0.05326 0.(Palettes are used in a number of applications, including CAD and painting programs.  Each)awidthshow
  1783. 429 81 gm
  1784. 1.58584 0. 32 0.15858 0.(icon in the palette can be used to give a visual representation of the operations that its)awidthshow
  1785. 453 81 gm
  1786. 1.96105 0. 32 0.19610 0.(corresponding tool can perform.  The icon associated with the currently active tool is)awidthshow
  1787. 477 81 gm
  1788. 0.85174 0. 32 0.08517 0.(highlighted in the palette, allowing the user to always know which tool is active, and thus)awidthshow
  1789. 501 81 gm
  1790. 0.47042 0. 32 0.04704 0.(know the operations that are currently available.  The user selects a new tool by placing the)awidthshow
  1791. 525 81 gm
  1792. -0.08535 0.(cursor on the icon of the desired tool and clicking a button on the mouse.)ashow
  1793. 561 81 gm
  1794. 2.49908 0. 32 0.24990 0.(FOIBLE provides a simple and easy to understand interface, allowing developers to)awidthshow
  1795. 585 81 gm
  1796. -0.11390 0.(concentrate on the specific implementation of their application.  Developing an application with)ashow
  1797. 609 81 gm
  1798. 0.38391 0. 32 0.03839 0.(FOIBLE involves creating new types of boxes, links, and the tools to perform operations on)awidthshow
  1799. 633 81 gm
  1800. -0.01654 0.(the boxes and links.)ashow
  1801. F T cp
  1802. %%Page: ? 11
  1803. op
  1804. 32 30 xl
  1805. 1 1 pen
  1806. 735 303 gm
  1807. (nc 32 30 762 582 6 rc)kp
  1808. 1 setTxMode
  1809. 0 fs
  1810. 12 fz
  1811. bu fc
  1812. 2 F /|______Times-Roman fnt
  1813. bn
  1814. (7)show
  1815. 105 81 gm
  1816. 1 fs
  1817. bu fc
  1818. 2 F /|______Times-Bold fnt
  1819. bn
  1820. 1.99996 0.(2.3.)ashow
  1821. 105 117 gm
  1822. 2.84118 0. 32 0.28411 0.(Systems Built with FOIBLE)awidthshow
  1823. 141 81 gm
  1824. 0 fs
  1825. bu fc
  1826. 2 F /|______Times-Roman fnt
  1827. bn
  1828. 0.02227 0. 32 0.00222 0.(A number of useful visual programming systems have been developed with FOIBLE over the)awidthshow
  1829. 165 81 gm
  1830. 0.98510 0. 32 0.09851 0.(past four years.  We describe several of these systems to demonstrate the variety of these)awidthshow
  1831. 189 81 gm
  1832. -0.09072 0.(systems and the flexibility of FOIBLE.  The following sections give a brief description of some)ashow
  1833. 213 81 gm
  1834. 0.63919 0. 32 0.06391 0.(of the systems built on top of FOIBLE.  Many of these systems have papers describing the)awidthshow
  1835. 237 81 gm
  1836. -0.03024 0.(system in much more detail, and the reader is directed to these papers for more information on)ashow
  1837. 261 81 gm
  1838. -0.05650 0.(a specific system.)ashow
  1839. 321 81 gm
  1840. 1 fs
  1841. bu fc
  1842. 2 F /|______Times-Bold fnt
  1843. bn
  1844. 1.79997 0.(2.3.1.)ashow
  1845. 321 153 gm
  1846. 3.19686 0. 32 0.31968 0.(System Dynamics Environment)awidthshow
  1847. 357 81 gm
  1848. 0 fs
  1849. bu fc
  1850. 2 F /|______Times-Roman fnt
  1851. bn
  1852. 1.01867 0. 32 0.10186 0.(System Dynamics Environment \(SDE\) was designed by Stuart Ericson to test his original)awidthshow
  1853. 381 81 gm
  1854. -0.02099 0.(implementation of FOIBLE [Eric87].  SDE lets users simulate system dynamics and is similar)ashow
  1855. 405 81 gm
  1856. 0.12466 0. 32 0.01246 0.(to the commercial program Stella.  Figure 2.1 contains a picture of SDE.  Plumbing and fluid)awidthshow
  1857. 429 81 gm
  1858. 0.23315 0. 32 0.02331 0.(metaphors are used to represent the system dynamics.  The basic idea behind SDE is that the)awidthshow
  1859. 453 81 gm
  1860. 0.64239 0. 32 0.06423 0.(values that are stored in boxes are constantly changing according to equations that the user)awidthshow
  1861. 477 81 gm
  1862. -0.08854 0.(specifies.  These equations control the rate at which values change in the system.)ashow
  1863. 513 81 gm
  1864. 0.24765 0. 32 0.02476 0.(In the SDE metaphor, values are considered to be amounts of fluid.  There are various boxes)awidthshow
  1865. 537 81 gm
  1866. -0.01197 0.(that can store, regulate, input, or output the fluid that is in the system.  There is also a box that)ashow
  1867. 561 81 gm
  1868. -0.01242 0.(is used to store an equation that controls the flow of fluid.  This allows the user to quickly and)ashow
  1869. 585 81 gm
  1870. 0.21102 0. 32 0.02110 0.(interactively edit the equations and immediately see the results.  This is a nice user interface,)awidthshow
  1871. 609 81 gm
  1872. 0.90774 0. 32 0.09077 0.(because the user does not have to edit the program code in order to change the equations.)awidthshow
  1873. 633 81 gm
  1874. 2.01385 0. 32 0.20138 0.(There are two types of links in SDE.  One type of link is used by the boxes to pass)awidthshow
  1875. 657 81 gm
  1876. 0.39321 0. 32 0.03932 0.(information, and the other type of link is used for the fluid to flow through.  SDE also has a)awidthshow
  1877. 681 81 gm
  1878. -0.07876 0.(primitive debugger, which can be used to trace the values as they go through the system.)ashow
  1879. F T cp
  1880. %%Page: ? 12
  1881. op
  1882. 32 30 xl
  1883. 1 1 pen
  1884. 735 303 gm
  1885. (nc 32 30 762 582 6 rc)kp
  1886. 1 setTxMode
  1887. 0 fs
  1888. 12 fz
  1889. bu fc
  1890. 2 F /|______Times-Roman fnt
  1891. bn
  1892. (8)show
  1893. 129 81 gm
  1894. 1 fs
  1895. bu fc
  1896. 2 F /|______Times-Bold fnt
  1897. bn
  1898. 1.79997 0.(2.3.2.)ashow
  1899. 129 153 gm
  1900. 0.83525 0.(FlowKit)ashow
  1901. 165 81 gm
  1902. 0 fs
  1903. bu fc
  1904. 2 F /|______Times-Roman fnt
  1905. bn
  1906. 0.92636 0. 32 0.09263 0.(FlowKit was developed by Beth Scaer, and is a graphical dataflow language [Scae88].  A)awidthshow
  1907. 189 81 gm
  1908. 0.93887 0. 32 0.09388 0.(dataflow language uses tokens to pass values through the system.  When a box receives a)awidthshow
  1909. 213 81 gm
  1910. 0.24841 0. 32 0.02484 0.(token from each of its inputs, it calculates its value and sends a token to its outputs.  To start)awidthshow
  1911. 237 81 gm
  1912. 0.68756 0. 32 0.06875 0.(the execution of a dataflow program, tokens are sent to each of the boxes that contain user)awidthshow
  1913. 261 81 gm
  1914. 0.06636 0.(input.)ashow
  1915. 297 81 gm
  1916. 0.23544 0. 32 0.02354 0.(Of the existing dataflow languages, FlowKit is most similar to LabVIEW [Nati87].  FlowKit)awidthshow
  1917. 321 81 gm
  1918. 1.85012 0. 32 0.18501 0.(has a number of boxes that are used for input, output, arithmetic functions, or control)awidthshow
  1919. 345 81 gm
  1920. -0.05682 0.(structures.  There is one type of link, and it is used to connect boxes together, which allows the)ashow
  1921. 369 81 gm
  1922. -0.02465 0.(boxes to send tokens through the system.)ashow
  1923. 405 81 gm
  1924. 0.90515 0. 32 0.09051 0.(A FlowKit window is divided in half, into two canvases.  Figure 2.2 contains a picture of)awidthshow
  1925. 429 81 gm
  1926. -0.04435 0.(FlowKit.  One canvas, the front view, contains all the boxes that provide input and output.  All)ashow
  1927. 453 81 gm
  1928. -0.04400 0.(interaction is performed in the front view, when a program is executing.  The other canvas, the)ashow
  1929. 477 81 gm
  1930. 0.22079 0. 32 0.02207 0.(back view, contains the other boxes and links between the boxes.  It is the information in the)awidthshow
  1931. 501 81 gm
  1932. 0.75622 0. 32 0.07562 0.(back view that defines the control flow and data flow of a program.  A dataflow system is)awidthshow
  1933. 525 81 gm
  1934. 0.06988 0. 32 0.00698 0.(defined and created in the back view, and the input and output is performed in the front view.)awidthshow
  1935. 549 81 gm
  1936. 0.35812 0. 32 0.03581 0.(Having both views visible makes debugging easier and also allows users to immediately see)awidthshow
  1937. 573 81 gm
  1938. -0.08126 0.(the results of changes made to the back view.)ashow
  1939. 609 81 gm
  1940. -0.03573 0.(FlowKit contains input and output boxes for both numeric and boolean types, and a number of)ashow
  1941. 633 81 gm
  1942. -0.01513 0.(function boxes for each type of input.  There are also several loop control structures available,)ashow
  1943. 657 81 gm
  1944. -0.03117 0.(represented by while boxes and for boxes.)ashow
  1945. F T cp
  1946. %%Page: ? 13
  1947. op
  1948. 32 30 xl
  1949. 1 1 pen
  1950. 735 303 gm
  1951. (nc 32 30 762 582 6 rc)kp
  1952. 1 setTxMode
  1953. 0 fs
  1954. 12 fz
  1955. bu fc
  1956. 2 F /|______Times-Roman fnt
  1957. bn
  1958. (9)show
  1959. 0 0 gm
  1960. (nc 72 140 420 471 6 rc)kp
  1961. T 331 45 140 72 42 331 45 T 0 db
  1962. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1963. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1964. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1965. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1966. 00000000FFFFFFFFFFFFFE00000000000000000000000000000000000000000000000000000000000000
  1967. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  1968. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  1969. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  1970. 000000008FE4000039C80200000000000000000000000000000000000000000000000000000000000000
  1971. 00000000842C000011008200000000000000000000000000000000000000000000000000000000000000
  1972. 000000008404000012008200000000000000000000000000000000000000000000000000000000000000
  1973. 00000000844431F71409C200000000000000000000000000000000000000000000000000000000000000
  1974. 0000000087C448A218188200000000000000000000000000000000000000000000000000000000000000
  1975. 00000000844484A214088200000000000000000000000000000000000000000000000000000000000000
  1976. 000000008404845412088200000000000000000000000000000000000000000000000000000000000000
  1977. 000000008404845411088200000000000000000000000000000000000000000000000000000000000000
  1978. 00000000840448281088A200000000000000000000000000000000000000000000000000000000000000
  1979. 000000008E0E302839DC4200000000000000000000000000000000000000000000000000000000000000
  1980. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  1981. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  1982. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  1983. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  1984. 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
  1985. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  1986. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  1987. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  1988. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  1989. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  1990. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  1991. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  1992. 17FFF07E8000000000000000000000000000000000001800000000000000000000000000000000000100
  1993. 17FFEF3E8000000000000000000000000000000000001800000000000000000000000000000000000100
  1994. 14E00F8E8000000000000000000000000000000000001800000000000000000000000000000000000100
  1995. 14CFDBE6800000FFFFFFF800000000000000000000001800000000000000000000000000000000000100
  1996. 14E018F28000008000000800000000000000000000001800000000000000000000000000000000000100
  1997. 17FF55FE8000008000000800000000000000000000001800000000000000000000000000000000000100
  1998. 17FF62FE8000008000000800000000000000000000001800000000000000000000000000000000000100
  1999. 17FF3EFE8000008000000800000000000000000000001800000000000000000000000000000000000100
  2000. 17FF80FE80000080C0000800000000000000000000001800000000000000000000000000000000000100
  2001. 17FFBEFE8000008120000800000000000000000000001800000000000000000000000000000000000100
  2002. 17FFC1F280000080E0000800000000000000000000001800000000000000000000000000000000000100
  2003. 17FFDEC68000008120000800000000000000000000001800000000000000000000000000000000000100
  2004. 17FFE01E8000008120000800000000000000000000001800000000000000000000000000000000000100
  2005. 17FFFFFE80000080E0000800000000000000000000001800000000000000000000000000000000000100
  2006. 17FFFFFE800000800000080000000000000000000000180000000000FFFFFFFFFFFFFFFFFFF000000100
  2007. 17FFFFFE8000008000000800000000000000000000001800000000008000000000000000001000000100
  2008. 17FFFFFE8000008000000800000000000000000000001800000000008000000000000000001000000100
  2009. 17FFFFFE800000FFFFFFF800000000001FFFFFFF00001800000000008600004400010000001000000100
  2010. 17FFFFFE8000000000000000000000001000000100001800000000008800004000010000001000000100
  2011. T 331 44 140 117 42 331 44 T 0 db
  2012. 17FFFFFE8000008000000800000000000000000000001800000000008000000000000000001000000100
  2013. 17FFFFFE8000008000000800000000000000000000001800000000008000000000000000001000000100
  2014. 17FFFFFE800000FFFFFFF800000000001FFFFFFF00001800000000008600004400010000001000000100
  2015. 17FFFFFE8000000000000000000000001000000100001800000000008800004000010000001000000100
  2016. 17FFFFFE8000000000000000000000001000000100001800000000009C938CEC6381C644C61000000100
  2017. 100000008000000000000000000000001000020100001800000000008892524492412929291000000100
  2018. 17FFFFFE8000000000000000000000001000020100001800000000008892504492412911E61000000100
  2019. 140000028000003FFFFFFC00000000001060838100001800000000008892504492412911011000000100
  2020. 140000028000002000000400000000001090824100001800000000008892524492412929291000000100
  2021. 140000028000002FFFFFE400000000001073E241000018000000000088724C246241C644C61000000100
  2022. 140030028000002800002400000000001090824100001800000000008000000000000000001000000100
  2023. 1401CE028000002980002400000000001090824100001800000000008000000000000000001000000100
  2024. 140249028000002A4000240000000000107003810000180000000000FFFFFFFFFFFFFFFFFFF000000100
  2025. 140249828000002840002400000000001000000100001800000000000000000000000000000000000100
  2026. 140249428000002880002400000000001000000100001800000000000000000000000000000000000100
  2027. 140249428000002900002400000000001000000100001800000000000000000000000000000000000100
  2028. 141A01428000002A40002400000000001FFFFFFF00001800000000000000000000000000000000000100
  2029. 142600428000002BC0002400000000000000000000001800000000000000000000000000000000000100
  2030. 142200428000002800002400000000000000000000001800000000000000000000000000000000000100
  2031. 141000828000002FFFFFE400000000000000000000001800000000000000000000000000000000000100
  2032. 140800828000002000000400000000000000000000001800000000000000000000000000000000000100
  2033. 140401028000002000000400000000000000000000001800000000000000000000000000000000000100
  2034. 140201028000003FFFFFFC00000000000000000000001800000000000000000000000000000000000100
  2035. 1401020280000000000000000000000007FFFFFF80001800000000000000000000000000000000000100
  2036. 140102028000000000000000000000000400000080001800000000000000000000000000000000000100
  2037. 1400000280000000000000000000000005FFFFFE80001801FFFF80000000000000000000000000000100
  2038. 1400000280000000000000000000000005000002800018014CCA80088004400000000000000000000100
  2039. 140000028000000000000000000000000500000280001801444A80044002200000000000000000000100
  2040. 14000002800000000000000000000000050C0002800018014CCEFFF23FF91E0000000000000000000100
  2041. 140000028000000000000000000000000510000280001801484280044002220000000000000000000100
  2042. 14000002800000000000000000000000051C0002800018014CC280088004420000000000000000000100
  2043. 17FFFFFE8000000000000000000000000512000280001801FFFF80000000020000000000000000000100
  2044. 100000008000000000000000000000000512000280001800000000000000020000000000000000000100
  2045. 17FFFFFE8000000000000000000000000512000280001800000000000000020000000000000000000100
  2046. 14000002800000000000000000000000050C000280001800000000000000020000000000000000000100
  2047. 140000028000000000000000000000000500000280001800000000000000020000000000000000000100
  2048. 140000028000007FFFFFFC000000000005FFFFFE80001800000000000000020000000000000000000100
  2049. 140000028000004000000400000000000400000080001800000000000000020000000000000000000100
  2050. 1418000280000040000004000000000007FFFFFF80001800000000000000020000000000000000000100
  2051. 141800028000004080000400000000000000000000001800000000000000088000000000000000000100
  2052. 141800028000004080000400000000000000000000001800000000000000750000000000000000000100
  2053. 1418000280000040E00004000000000000000000000018000000000000004E0000000000000000000100
  2054. 14180002800000409000040000000000000000000000180000000000000041C000000000000000000100
  2055. 141800028000004090000400000000000000000000001800000000000000403800000000000FFFFC0100
  2056. 141800028000004090000400000000000000000000001800000000000000420700004400220A66540100
  2057. 1418000280000040900004000000000000000000000018000000000000004200E0002200110A22540100
  2058. 1418000280000040E00004000000000000000000000018000000000000004F801FFF91FFC8FA66740100
  2059. 1418000280000040000004000000000000000000000018000000000000004200E0802200110A42140100
  2060. T 331 43 140 161 42 331 43 T 0 db
  2061. 141800028000004090000400000000000000000000001800000000000000420700004400220A66540100
  2062. 1418000280000040900004000000000000000000000018000000000000004200E0002200110A22540100
  2063. 1418000280000040E00004000000000000000000000018000000000000004F801FFF91FFC8FA66740100
  2064. 1418000280000040000004000000000000000000000018000000000000004200E0802200110A42140100
  2065. 141800028000004000000400000000000000000000001800000000000000420700804400220A66140100
  2066. 141800028000004000000400000000000000000000001800000000000000403800800000000FFFFC0100
  2067. 141800028000007FFFFFFC0000000000000000000000180000000000000041C000800000000000000100
  2068. 1418000280000000000000000000000000000000000018000000000000004E0000800000000000000100
  2069. 141800028000000000000000000000000000000000001800000000000000750000800000000000000100
  2070. 141FFF028000000000000000000000000000000000001800000000000000088000800000000000000100
  2071. 141FFF028000001FFFFFFE00000000000000000000001800000000000000020000800000000000000100
  2072. 140000028000001000000200000000000000000000001800000000000000020000800000000000000100
  2073. 1400000280000017FFFFF200000000000000000000001800000000000000020000800000000000000100
  2074. 14000002800000140000120000000001FFFFFFFFFFFF9800000000000000020000800000000000000100
  2075. 17FFFFFE8000001420001200000000010000000000009800000000000000020000800000000000000100
  2076. 100000008000001460001200000000010000000000009800000000000000020002200000000000000100
  2077. 17FFFFFE80000014A0001200000000010200000400009800000000000000020001400000000000000100
  2078. 140000028000001520001200000000010400010200009801FFFF80000000020000800000000000000100
  2079. 1400000280000015E00012000000000104000102000098014CCA80088004420000000000000000000100
  2080. 14787002800000142000120000000001083041C114309801444A80044002220002200000000000000100
  2081. 1404780280000014200012000000000108484121084898014CCEFFF23FF91E0001400000000000000100
  2082. 1402FC028000001400001200000000010839F1213E409801484280044002200000800000000000000100
  2083. 14039E0280000017FFFFF2000000000108484121084098014CC280088004400000800000000000000100
  2084. 14064F028000001000000200000000010448412214489801FFFF80000000000000800000000000000100
  2085. 14092782800000100000020000000001043801C200309800000000000000000000800000000000000100
  2086. 141493C28000001FFFFFFE00000000010200000400009800000000000000000000800000000000000100
  2087. 141249E28000000000000000000000010000000000009800000000000000000000800000000000000100
  2088. 142924F28000000000000000000000010000000000009800000000000000000000800000000000000100
  2089. 14249272800000000000000000000001FFFFFFFFFFFF9800000000000000000000800000000000000100
  2090. 14D249428000000000000000000000000000000000001800000000000000000000800000000000000100
  2091. 14E924C28000000000000000000000000000000000001800000000000000000000800000000000000100
  2092. 14F492828000000000000000000000000000000000001800000000000000000000800000000000000100
  2093. 147A49828000000000000000000000000000000000001800000000000000000002200000000000000100
  2094. 143D25028000000000000000000000000000000000001800000000000000000001400000000000000100
  2095. 141E92028000000000000000000000000000000000001800000000000000000000800000000000000100
  2096. 140F4C028000007FFFFFFC00000000000FFFFFFF00001800000000000000000000000000000000000100
  2097. 1407B8028000004000000400000000000800000100001800000000000000000002200000000000000100
  2098. 1403E0028000004000000400000000000BFFFFFD00001800000000000000000001400000000000000100
  2099. 1401E0028000004000000400000000000A00000500001800000000000000000000800000000000000100
  2100. 1400C00280000040C0000400000000000A00000500001800000000000000000000870000000000000100
  2101. 140000028000004120000400000000000A3180050000180000000000000000000084E000000000000100
  2102. 17FFFFFE8000004100000400000000000A4A400500001800000000000000000000FC1C00000000000100
  2103. 100000008000004100000400000000000A0A40050000180000000000000000000004038000003FFFF100
  2104. 100000008000004120000400000000000A32400500001800000000000000000000048870004429995100
  2105. 17FFFFFE80000040C0000400000000000A0A40050000180000000000000000000004500E002228895100
  2106. 140000028000004000000400000000000A4A400500001800000000000000000000042001FF91E999D100
  2107. 140000028000004000000400000000000A318005000018007FFFE000000000000004500E002229085100
  2108. T 331 44 140 204 42 331 44 T 0 db
  2109. 100000008000004120000400000000000A32400500001800000000000000000000048870004429995100
  2110. 17FFFFFE80000040C0000400000000000A0A40050000180000000000000000000004500E002228895100
  2111. 140000028000004000000400000000000A4A400500001800000000000000000000042001FF91E999D100
  2112. 140000028000004000000400000000000A318005000018007FFFE000000000000004500E002229085100
  2113. 140000028000004000000400000000000A000005000018005332A0022001110008848870004429985100
  2114. 140000028000004000000400000000000BFFFFFD000018005112A001100088800444038000003FFFF100
  2115. 140000028000007FFFFFFC000000000008000001000018005333BFFC8FFE447FF23C1C00000000000100
  2116. 14E000028000000000000000000000000FFFFFFF000018005210A001100088800444E000000000000100
  2117. 149C000280000000000000000000000000000000000018005330A0022001110008870000000000000100
  2118. 14838002800000FFFFFFF0000000000000000000000018007FFFE0000000000000000000000000000100
  2119. 148070028000008000001000000000000000000000001800000000000000000000000000000000000100
  2120. 14800E02800000BFFFFF9000000000000000000000001800000000000000000000000000000000000100
  2121. 148001C2800000A000009000000000000000000000001800000000000000000000000000000000000100
  2122. 14800032800000A780009000000000000000000000001800000000000000000000000000000000000100
  2123. 148001C2800000A400009000000000000000000000001800000000000000000000000000000000000100
  2124. 14800E02800000A700009000000000000000000000001800000000000000000000000000000000000100
  2125. 14807002800000A080009000000000000000000000001800000000000000000000000000000000000100
  2126. 14838002800000A080009000000000000000000000001800000000000000000000000000000000000100
  2127. 149C0002800000A480009000000000000000000000001800000000000000000000000000000000000100
  2128. 14E00002800000A300009000000000000000000000001800000000000000000000000000000000000100
  2129. 14000002800000A000009000000000000000000000001800000000000000000000000000000000000100
  2130. 14000002800000BFFFFF9000000000000000000000001800000000000000000000000000000000000100
  2131. 140000028000008000001000000000000000000000001800000000000000000000000000000000000100
  2132. 140000028000008000001000000000000000000000001800000000000000000000000000000000000100
  2133. 14000002800000FFFFFFF000000000000000000000001800000000000000000000000000000000000100
  2134. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  2135. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2136. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2137. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  2138. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  2139. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  2140. 140040028000000000000000000000000000000000001800000000000000000000000000000000000100
  2141. 143FFFC28000000000000000000000000000000000001800000000000000000000000000000000000100
  2142. 143FFFC28000000000000000000000000000000000001800000000000000000000000000000000000100
  2143. 142040428000000000000000000000000000000000001800000000000000000000000000000000000100
  2144. 142040428000000000000000000000000000000000001800000000000000000000000000000000000100
  2145. 142040428000000000000000000000000000000000001800000000000000000000000000000000000100
  2146. 146040628000000000000000000000000000000000001800000000000000000000000000000000000100
  2147. 149040928000000000000000000000000000000000001800000000000000000000000000000000000100
  2148. 149040928000000000000000000000000000000000001800000000000000000000000000000000000100
  2149. 1508410A8000000000000000000000000000000000001800000000000000000000000000000000000100
  2150. 1508410A8000000000000000000000000000000000001800000000000000000000000000000000000100
  2151. 1508410A8000000000000000000000000000000000001800000000000000000000000000000000000100
  2152. 15F841FA8000000000000000000000000000000000001800000000000000000000000000000000000100
  2153. 149040928000000000000000000000000000000000001800000000000000000000000000000000000100
  2154. 146040628000000000000000000000000000000000001800000000000000000000000000000000000100
  2155. 140040028000000000000000000000000000000000001800000000000000000000000000000000000100
  2156. 140040028000000000000000000000000000000000001800000000000000000000000000000000000100
  2157. T 331 43 140 248 42 331 43 T 0 db
  2158. 149040928000000000000000000000000000000000001800000000000000000000000000000000000100
  2159. 146040628000000000000000000000000000000000001800000000000000000000000000000000000100
  2160. 140040028000000000000000000000000000000000001800000000000000000000000000000000000100
  2161. 140040028000000000000000000000000000000000001800000000000000000000000000000000000100
  2162. 140040028000000000000000000000000000000000001800000000000000000000000000000000000100
  2163. 1407FC028000000000000000000000000000000000001800000000000000000000000000000000000100
  2164. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  2165. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  2166. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  2167. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  2168. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2169. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  2170. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  2171. 1400000280000000000000000000000000000000000018000000007FFFFFFFFFFFFFFFFFFFFFF0000100
  2172. 140000028000000000000000000000000000000000001800000000400000000000000000000010000100
  2173. 140000028000000000000000000000000000000000001800000000400000000000000000000010000100
  2174. 1400000280000000000000000000000000FFFFFFF8001800000000400000000000000000000010000100
  2175. 140000028000000000000000000000000080000008001800000000400000000000000000000010000100
  2176. 140000028000000000000000000000000080000008001800000000400000000040000080000010000100
  2177. 140000028000000000000000000000000080200008001800000000400000000000000080000010000100
  2178. 1400000280000000000000000000000000802000080018000000004631D8E316C631C0E3226310000100
  2179. 150F7EF28000000000000000000000000080E11808001800000000494924949849492094949490000100
  2180. 15094282800000000000000000000000008122240800180000000048492493904649209488F310000100
  2181. 150942828000000000000000000000000081243C08001800000000484924949041492094888090000100
  2182. 150942828000000000000000000000000081222008001800000000494924949049492094949490000100
  2183. 15095A828000000000000000000000000081212408001800000000463124E390463120E3226310000100
  2184. 15094A828000000000000000000000000080E01808001800000000400000800000000000000010000100
  2185. 15EF7EF28000000000000000000000000080000008001800000000400000800000000000000010000100
  2186. 140000028000000000000000000000000080000008001800000000400000000000000000000010000100
  2187. 1400000280000000000000000000000000800000080018000000007FFFFFFFFFFFFFFFFFFFFFF0000100
  2188. 1400000280000000000000000000000000FFFFFFF8001800000000000000000000000000000000000100
  2189. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  2190. 1400000280000FFFFFFF8000000000000000000000001800000000000000000000000000000000000100
  2191. 1400000280000800000080000000000000000FE000001800000000000000000000000000000000000100
  2192. 140000028000080000008000000000000000301800001800000000000000000000000000000000000100
  2193. 140000028000080200008000000000000000400400001800000000000000000000000000000000000100
  2194. 17FFFFFE800008020000800000000000000087C200001800000000000000000000000000000000000100
  2195. 100000008000080E00008000000000000001183100001800000000000000000000000000000000000100
  2196. 17FFFFFE8000081200008000000000000002200880001800000000000000000000000000000000000100
  2197. 140000028000081200008000000000000002400480001800000000000000000000000000000000000100
  2198. 140000028000081200008000000000000004400440001800000000000000000000000000000000000100
  2199. 1407FC028000081200008000000000000004800240001800000000000000000000000000000000000100
  2200. 140842028000080E00008000000000000004800240001800000000000000000000000000000000000100
  2201. 14104102800008000000800000000000000480024000180003FFFF000000000000000000000000000100
  2202. 142001828000080000008000000000000004800240001800029995001100088000000000000000000100
  2203. 1443FB42800008000000800000000000000480024000180002889500088004400000000007FFFE000100
  2204. 1484062280000FFFFFFF800000000000000440044000180002999DFFE47FF23C0000000887FC02000100
  2205. T 331 44 140 291 42 331 44 T 0 db
  2206. 14104102800008000000800000000000000480024000180003FFFF000000000000000000000000000100
  2207. 142001828000080000008000000000000004800240001800029995001100088000000000000000000100
  2208. 1443FB42800008000000800000000000000480024000180002889500088004400000000007FFFE000100
  2209. 1484062280000FFFFFFF800000000000000440044000180002999DFFE47FF23C0000000887FC02000100
  2210. 1509FA12800000000000000000000000000240048000180002908500088004440000000447FC02000100
  2211. 1512091280000000000000000000000000022008800018000299850011000884000FFFF23FFC02000100
  2212. 15140512800000FFFFFFF00000000000000118310000180003FFFF00000000040008000447FC02000100
  2213. 15D40572800000800000100000000000000087C20000180000000000000000040008000887FC02000100
  2214. 15140512800000BFFFFF900000000000000040040000180000000000000000040008000007FFFE000100
  2215. 15160D12800000A000009000000000000000301800001800000000000000000400140000000000000100
  2216. 1509FA12800000A3000090000000000000000FE000001800000000000000000400220000000000000100
  2217. 14840422800000A480009000000000000000000000001800000000000000000400000000000000000100
  2218. 1443F842800000A080009000000000000000000000001800000000000000000400080000000000000100
  2219. 14200082800000A300009000000000000000000000001800000000000000000400140000000000000100
  2220. 14104102800000A080009000000000000000000000001800000000000000001100220000000000000100
  2221. 14084202800000A480009000000000000000000000001800000000000000000A00080000000000000100
  2222. 1407FC02800000A300009000000000000000000000001800000000000000000400080000000000000100
  2223. 14000002800000A0000090000000000001FFFFFFF0001800000000000000000400080000000000000100
  2224. 14000002800000BFFFFF9000000000000100000010001800000000000000007FFFFF8000000000000100
  2225. 140000028000008000001000000000000100000010001800000000000000004000008000000000000100
  2226. 17FFFFFE8000008000001000000000000101000010001800000000000000004000088000000000000100
  2227. 10000000800000FFFFFFF000000000000101000010001800000000000000005F00108000000000000100
  2228. 17FFFFFE8000000000000000000000000107003010001800000000000000005F00208000000000000100
  2229. 1400000280000000000000000000000001093E4810001800000000000000005F00108000000000000100
  2230. 140000028000000000000000000000000109007810001800000000000000004000088000000000000100
  2231. 1400000280000000000000000000000001093E4010001800000000000000004000008000000000000100
  2232. 140000028000000000000000000000000109004810001800000000000000004000008000000000000100
  2233. 14000002800000000000000000000000010700301000180000000000000000440000800007FFFE000100
  2234. 15FFFFFA8000000000000000000000000100000010001800000000000000004A0000801107FC02000100
  2235. 1500000A80000000000000000000000001000000100018000000000000000042003C800887FC02000100
  2236. 1500000A800000000000000000000000010000001000180000000000000000440000FFE47FFC02000100
  2237. 1501F80A80000000000000000000000001FFFFFFF00018000000000000000040003C800887FC02000100
  2238. 1506260A800000000000000000000000000000000000180000000000000000440000801107FC02000100
  2239. 1508210A80000000000000000000000000007F000000180000000000000000400000800007FFFE000100
  2240. 1518018A800000000000000000000000000180C000001800000000000000004000008000000000000100
  2241. 1514028A8000000000000000000000000002002000001800000000000000004000108000000000000100
  2242. 1520004A80000000000000000000000000043E1000001800000000000000005F00088000000000000100
  2243. 15200C4A8000000000000000000000000008C18800001800000000000000005F00048000000000000100
  2244. 15400C2A8000000000000000000000000011004400001800000000000000005F00088000000000000100
  2245. 157010EA8000000000000000000000000012002400001800000000000000004000108000000000000100
  2246. 1540202A8000000000000000000000000022002200001800000000000000004000008000000000000100
  2247. 157FFFEA8000000000000000000000000024001200001800000000000000007FFFFF8000000000000100
  2248. 1500000A8000000000000000000000000024001200001800000000000000000400040000000000000100
  2249. 15FFFFFA8000000000000000000000000024001200001800000000000000000400040000000000000100
  2250. 140000028000000000000000000000000024001200001800000000000000000A00040000000000000100
  2251. 140000028000000000000000000000000024001200001800000000000000001100110000000000000100
  2252. 1400000280000000000000000000000000220022000018000000000000000004000A0000000000000100
  2253. 17FFFFFE8000000000000000000000000012002400001800000000000000000A00040000000000000100
  2254. T 331 43 140 335 42 331 43 T 0 db
  2255. 140000028000000000000000000000000024001200001800000000000000000A00040000000000000100
  2256. 140000028000000000000000000000000024001200001800000000000000001100110000000000000100
  2257. 1400000280000000000000000000000000220022000018000000000000000004000A0000000000000100
  2258. 17FFFFFE8000000000000000000000000012002400001800000000000000000A00040000000000000100
  2259. 100000008000000000000000000000000011004400001800000000000000001100000000000000000100
  2260. 17FFFFFE8000000000000000000000000008C18800001800000000000000000400110000000000000100
  2261. 14000002800007FFFFFFC0000000000000043E10000018000000000000000004000A0000000000000100
  2262. 14000002800004000000400000000000000200200000180000000000000000040004000007FFFE000100
  2263. 14000002800004000000400000000000000180C00000180000000000000000040004000887FC02000100
  2264. 1400000280000400000040000000000000007F000000180000000000000000040004000447FC02000100
  2265. 1400F802800004000000400000000000000000000000180000000000000000040007FFF23FFC02000100
  2266. 14030602800004060000400000000000000000000000180000000000000000040000000447FC02000100
  2267. 140C0182800004090000400000000000000000000000180003FFFF00000000040000000887FC02000100
  2268. 141000428000040F0000400000000000000000000000180002999500110008840000000007FFFE000100
  2269. 142000228000040800004000000000000000000000001800028895000880044400000000000000000100
  2270. 14200022800004090000400000000000000000000000180002999DFFE47FF23C00000000000000000100
  2271. 14400012800004060000400000000000007FFFFFFC001800029085000880044000000000000000000100
  2272. 144000128000040000004000000000000040000004001800029985001100088000000000000000000100
  2273. 14400012800004000000400000000000004000000400180003FFFF000000000000000000000000000100
  2274. 144000128000040000004000000000000040400004001800000000000000000000000000000000000100
  2275. 14400012800007FFFFFFC000000000000040400004001800000000000000000000000000000000000100
  2276. 144000128000000000000000000000000041C83004001800000000000000000000000000000000000100
  2277. 140000228000000000000000000000000042444804001800000000000000000000000000000000000100
  2278. 140000228000000000000000000000000042427804001800000000000000000000000000000000000100
  2279. 141E0042800003FFFFFFC000000000000042444004001800000000000000000000000000000000000100
  2280. 141801828000020000004000000000000042484804001800000000000000000000000000000000000100
  2281. 14160602800002FFFFFE4000000000000041C03004001800000000000000000000000000000000000100
  2282. 1411F8028000028000024000000000000040000004001800000000000000000000000000000000000100
  2283. 140000028000028C00024000000000000040000004001800000000000000000000000000000000000100
  2284. 140000028000029200024000000000000040000004001800000000000000000000000000000000000100
  2285. 17FFFFFE800002820002400000000000007FFFFFFC001800000000000000000000000000000000000100
  2286. 100000008000028400024000000000000000000000001800000000000000000000000000000000000100
  2287. 1FFFFFFF80000288000240000000000000001FC000001800000000000000000000000000000000000100
  2288. 000000008000029200024000000000000000603000001800000000000000000000000000000000000100
  2289. 000000008000029E00024000000000000000800800001800000000000000000000000000000000000100
  2290. 0000000080000280000240000000000000010F8400001800000000000000000000000000000000000100
  2291. 00000000800002FFFFFE40000000000000023FE200001800000000000000000000000000000000000100
  2292. 0000000080000200000040000000000000047FF100001800000000000000000000000000000000000100
  2293. 000000008000020000004000000000000004FFF900001800000000000000000000000000000000000100
  2294. 00000000800003FFFFFFC000000000000008FFF880001800000000000000000000000000000000000100
  2295. 000000008000000000000000000000000009FFFC80001800000000000000000000000000000000000100
  2296. 000000008000000000000000000000000009FFFC80001800000000000000000000000000000000000100
  2297. 000000008000000000000000000000000009FFFC80001800000000000000000000000000000000000100
  2298. 000000008000000000000000000000000009FFFC80001800000000000000000000000000000000000100
  2299. 000000008000000000000000000000000009FFFC80001800000000000000000000000000000000000100
  2300. 000000008000000000000000000000000008FFF880001800000000000000000000000000000000000100
  2301. 000000008000000000000000000000000004FFF900001800000000000000000000000000000000000100
  2302. T 331 44 140 378 42 331 44 T 0 db
  2303. 000000008000000000000000000000000009FFFC80001800000000000000000000000000000000000100
  2304. 000000008000000000000000000000000009FFFC80001800000000000000000000000000000000000100
  2305. 000000008000000000000000000000000008FFF880001800000000000000000000000000000000000100
  2306. 000000008000000000000000000000000004FFF900001800000000000000000000000000000000000100
  2307. 0000000080000000000000000000000000047FF100001800000000000000000000000000000000000100
  2308. 0000000080000000000000000000000000023FE200001800000000000000000000000000000000000100
  2309. 0000000080000000000000000000000000010F8400001800000000000000000000000000000000000100
  2310. 000000008000000000000000000000000000800800001800000000000000000000000000000000000100
  2311. 000000008000000000000000000000000000603000001800000000000000000000000000000000000100
  2312. 0000000080000000000000000000000000001FC000001800000000000000000000000000000000000100
  2313. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2314. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2315. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2316. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2317. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2318. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2319. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2320. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2321. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2322. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2323. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2324. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2325. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2326. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2327. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2328. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2329. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2330. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2331. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2332. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2333. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2334. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2335. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2336. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2337. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2338. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2339. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2340. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2341. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2342. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  2343. 00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
  2344. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  2345. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  2346. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  2347. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  2348. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  2349. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  2350. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  2351. 453 258 gm
  2352. (nc 32 30 762 582 6 rc)kp
  2353. bu fc
  2354. 2 F /|______Times-Roman fnt
  2355. bn
  2356. 0.14083 0. 32 0.01408 0.(Figure 2.2  FlowKit)awidthshow
  2357. 525 81 gm
  2358. 1 fs
  2359. bu fc
  2360. 2 F /|______Times-Bold fnt
  2361. bn
  2362. 1.79997 0.(2.3.3.)ashow
  2363. 525 153 gm
  2364. 2.50045 0. 32 0.25004 0.(The Visual Tool Set)awidthshow
  2365. 561 81 gm
  2366. 0 fs
  2367. bu fc
  2368. 2 F /|______Times-Roman fnt
  2369. bn
  2370. -0.10365 0.(The Visual Tool Set is a multiparadigm visual programming language consisting of a collection)ashow
  2371. 585 81 gm
  2372. 0.31311 0. 32 0.03131 0.(of tools created by Jose Borges [Borg90].  The system has separate tools to allow for a wide)awidthshow
  2373. 609 81 gm
  2374. -0.02935 0.(range of operations.  The tools in the system each have operations that they are best suited for,)ashow
  2375. 633 81 gm
  2376. 0.20675 0. 32 0.02067 0.(and having the availability of all of the tools allows the user take full advantage of each tool.)awidthshow
  2377. 657 81 gm
  2378. 0.62988 0. 32 0.06298 0.(There is a consistent user interface across all of the tools to allow ease of use.  The system)awidthshow
  2379. 681 81 gm
  2380. (consists of five tools.)show
  2381. F T cp
  2382. %%Page: ? 14
  2383. op
  2384. 32 30 xl
  2385. 1 1 pen
  2386. 735 300 gm
  2387. (nc 32 30 762 582 6 rc)kp
  2388. 1 setTxMode
  2389. 0 fs
  2390. 12 fz
  2391. bu fc
  2392. 2 F /|______Times-Roman fnt
  2393. bn
  2394. (10)show
  2395. 93 81 gm
  2396. 0.98083 0. 32 0.09808 0.(The Data Definition Tool is used to create data types and data objects.  It allows users to)awidthshow
  2397. 117 81 gm
  2398. 0.30517 0. 32 0.03051 0.(combine primitives, like numbers, strings, and dates, into more complex data structures, like)awidthshow
  2399. 141 81 gm
  2400. 1.82281 0. 32 0.18228 0.(arrays, matrices, and records.  Boxes are used to represent the primitives and the data)awidthshow
  2401. 165 81 gm
  2402. -0.05780 0.(structures, and the menu options allow the creation of new data types.  There are no links.  The)ashow
  2403. 189 81 gm
  2404. 0.35446 0. 32 0.03544 0.(data objects created with the Data Definition Tool are used in programs created by the other)awidthshow
  2405. 213 81 gm
  2406. -0.09564 0.(tools in the system.  A picture of the Data Definition Tool is contained in Figure 2.3.)ashow
  2407. 0 0 gm
  2408. (nc 264 198 528 413 6 rc)kp
  2409. T 215 68 198 264 28 215 68 T 0 db
  2410. 00000000000000000000000000000000000000000000000000000000
  2411. 00000000000000000000000000000000000000000000000000000000
  2412. 00000000000000000000000000000000000000000000000000000000
  2413. 00000000000000000000000000000000000000000000000000000000
  2414. 00000000000000000000000000000000000000000000000000000000
  2415. 00000000000000000000000000000000000000000000000000000000
  2416. 0000001FFFFFFFFFFFFFFFFFFFFFFFFE000000000000000000000000
  2417. 00000010000000000000000000000002000000000000000000000000
  2418. 00000013802003801A008880007C0062000000000000000000000000
  2419. 00000012402002402000080000100022000000000000000000000000
  2420. 000000122673022676399D8C7010C622000000000000000000000000
  2421. 00000012292482292224889248112922000000000000000000000000
  2422. 000000122723822F2224889248112922000000000000000000000000
  2423. 00000012292482282224889248112922000000000000000000000000
  2424. 00000012492482492224889248112922000000000000000000000000
  2425. 00000013871383862224848C4810C622000000000000000000000000
  2426. 00000010000000000000000000000002000000000000000000000000
  2427. 00000010000000000000000000000002000000000000000000000000
  2428. 3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000
  2429. 20000010000000000000000000000000000000000000000000001000
  2430. 2FFFFFD0000000000000000000000000000000000000000000001000
  2431. 2FFFFFD0000000000000000000000000000000000000000000001000
  2432. 2FFFFFD0000000000000000000000000000000000000000000001000
  2433. 2C4411D0000000000000000000000000000000000000000000001000
  2434. 2D5775D0000000000000000000000000000000000000000000001000
  2435. 2D4771D0000000000000000000000000000000000000000000001000
  2436. 2D5775D0000000000000000000000000000000000000000000001000
  2437. 2C5775D0000000000000000000000000000000000000000000001000
  2438. 2FFFFFD0000000000000000000000000000000000000000000001000
  2439. 2FFFFFD0000000000000000000000000000000000000000000001000
  2440. 2C3070D0000000000000000000000000000000000000000000001000
  2441. 2D9DE6D0000000000000000000000000000000000000000000001000
  2442. 2DDDEFD0000000000000000000000000000000000000000000001000
  2443. 2DDDEFD0000000000000000000000000000000000000000000001000
  2444. 2DDDEFD0000000000000000000000000000000000000000000001000
  2445. 2DDDEFD0000000000000000000000000000000000000000000001000
  2446. 2D9DE6D0000000000000000000000000000000000000000000001000
  2447. 2C3070D0000000000000000000000000000000000000000000001000
  2448. 2FFFFFD0000000000000000000000000000000000000000000001000
  2449. 2FFFFFD0000000000000000000000000000000000000000000001000
  2450. 2FFFFFD0000000000000000000000000000000000000000000001000
  2451. 20000010000000000000000000000000000000000000000000001000
  2452. 2FFFFFD0000000000000000000000000000000000000000000001000
  2453. 2800005001FFFFFFFFFFFFFFFFE00000000000000000000000001000
  2454. 28000050010000000000000000200000000000000000000000001000
  2455. 280000500100001E38B2F80000200000000000000000000000001000
  2456. 280000500100001144B2200000200000000000000000000000001000
  2457. 28FFF8500100001144AA200000200000000000000000000000001000
  2458. 288008500100001E44AA200000200000000000000000000000001000
  2459. 288008500100001044A6200000200000000000000000000000001000
  2460. 288508500100001044A6200000200000000000000000000000001000
  2461. 288508500100001038A2200000200000000000000000000000001000
  2462. 289FC850010000000000000000200000000000000000000000001000
  2463. 2885085001FFFFFFFFFFFFFFFFE00000000000000000000000001000
  2464. 289FC850010000000000000000200000000000000000000000001000
  2465. 28850850010000000000000000200000000000000000000000001000
  2466. 28850850010000000000000000200000000000000000000000001000
  2467. 28800850010000000000000000200000000000000000000000001000
  2468. 28FFF850010000000000000000200000000000000000000000001000
  2469. 287FF850010000000000000000200000000000000000000000001000
  2470. 28000050010000000000000000200000000000000000000000001000
  2471. 28000050010000000000000000200000000000000000000000001000
  2472. 2FFFFFD001000FFFFFFFFF0000200000000000000000000000001000
  2473. 20000010010008080000010000200000000000000000000000001000
  2474. 2FFFFFD0010008080000010000200000000000000000000000001000
  2475. 28000050010009491000010000200000000000000000000000001000
  2476. 2800005001000BE8A000010000200000000000000000000000001000
  2477. 28000050010009484000010000200000000000000000000000001000
  2478. 2800005001000BE8A000010000200000000000000000000000001000
  2479. 283FF850010009491000010000200000000000000000000000001000
  2480. 28700850010008080000010000200000000000000000000000001000
  2481. 28F0085001000FFFFFFFFF0000200000000000000000000000001000
  2482. T 215 66 198 332 28 215 66 T 0 db
  2483. 2800005001000BE8A000010000200000000000000000000000001000
  2484. 283FF850010009491000010000200000000000000000000000001000
  2485. 28700850010008080000010000200000000000000000000000001000
  2486. 28F0085001000FFFFFFFFF0000200000000000000000000000001000
  2487. 28810850010008000000010000200000000000000000000000001000
  2488. 2883C850010008000000010000200000000000000000000000001000
  2489. 28850850010008000000010000200000000000000000000000001000
  2490. 28838850010008000000010000200000000000000000000000001000
  2491. 28814850010008000000010000200000000000000000000000001000
  2492. 28878850010008000000010000200000000000000000000000001000
  2493. 28810850010008000000010000200000000000000000000000001000
  2494. 28800850010008000000010000200000000000000000000000001000
  2495. 28FFF850010008000000010000200000000000000000000000001000
  2496. 2800005001000FFFFFFFFF0000200000000000000000000000001000
  2497. 28000050010000000000000000200000000000000000000000001000
  2498. 28000050010000000000000000200000000000000000000000001000
  2499. 2FFFFFD0010000000000000000200000000000000000000000001000
  2500. 20000010010000000000000000200000000000000000000000001000
  2501. 2FFFFFD0010000000000000000200000000000000000000000001000
  2502. 28000050010000000000000000200000000000000000000000001000
  2503. 28000050010000000000000000200000000000000000000000001000
  2504. 28000050010000000000000000200000000000000000000000001000
  2505. 28000050010000000000000000200000000000000000000000001000
  2506. 2BFFFF50010007FFFFFFFF8000200000000000000000000000001000
  2507. 2A082150010004040000008000200000000000000000000000001000
  2508. 2A082150010004049000008000200000000000000000000000001000
  2509. 2AC82B50010004A49000008000200000000000000000000000001000
  2510. 2A482550010005F49000008000200000000000000000000000001000
  2511. 2AED6B50010004A49000008000200000000000000000000000001000
  2512. 2A082150010005F47000008000200000000000000000000000001000
  2513. 2A082150010004A41000008000200000000000000000000000001000
  2514. 2A082150010004046000008000200000000000000000000000001000
  2515. 2BFFFF50010007FFFFFFFF8000200000000000000000000000001000
  2516. 28000050010004000000008000200000000000000000000000001000
  2517. 28000050010004000000008000200000000000000000000000001000
  2518. 28000050010004000000008000200000000000000000000000001000
  2519. 28000050010004000000008000200000000000000000000000001000
  2520. 28000050010004000000008000200000000000000000000000001000
  2521. 2FFFFFD0010004000000008000200000000000000000000000001000
  2522. 20000010010004000000008000200000000000000000000000001000
  2523. 2FFFFFD001000400000000800020001FFFFFFFFFFFFFFFFFF8001000
  2524. 28000050010004000000008000200010000000000000000008001000
  2525. 28000050010007FFFFFFFF80002000100000020B2F00000008001000
  2526. 29E21E500100000000000000002000100000020B2800000008001000
  2527. 2A0781500100000000000000002000100000020AA800000008001000
  2528. 2AAA01500100000000000000002000100000020AAE00000008001000
  2529. 2A4719500100000000000000002000100000020A6800000008001000
  2530. 2AA299500100000000000000002000100000020A6800000008001000
  2531. 2A0F0050010000000000000000200010000003CA2F00000008001000
  2532. 2A020050010000000000000000200010000000000000000008001000
  2533. 2A00715001000000000000000020001FFFFFFFFFFFFFFFFFF8001000
  2534. 2AF87150010000000000000000200010000000000000000008001000
  2535. 2AF8F150010000000000000000200010000000000000000008001000
  2536. 2A000150010000000000000000200010000000000000000008001000
  2537. 29E00E5001FFFFFFFFFFFFFFFFE00010000000000000000008001000
  2538. 2800005001000000003C020000200010000000000000000008001000
  2539. 28000050010000000022020000200010000000000000000008001000
  2540. 28000050010001D8C8A2E7000020001003FFFFFFFFC0000008001000
  2541. 2800005001000124253C920000200010024981006040000008001000
  2542. 2800005001000124E22092000020001002E881002040000008001000
  2543. 2FFFFFD0010001252520920000200010034899C62040000008001000
  2544. 2000001001000124E8A091000020001002E885292040000008001000
  2545. 2FFFFFD001FFFFFFFFFFFFFFFFE0001002589D2F2040000008001000
  2546. 2800005000000000000000000000001002E8A5282040000008001000
  2547. 2800005000000000000000000000001002489DC62040000008001000
  2548. 2800005000000000000000000000001003FFFFFFFFC0000008001000
  2549. 28FFF850000000000000000000000010020000000040000008001000
  2550. 28888850000000000000000000000010020000000040000008001000
  2551. 28888850000000000000000000000010020000000040000008001000
  2552. 28888850000000000000000000000010020000000040000008001000
  2553. T 215 66 198 398 28 215 66 T 0 db
  2554. 28FFF850000000000000000000000010020000000040000008001000
  2555. 28888850000000000000000000000010020000000040000008001000
  2556. 28888850000000000000000000000010020000000040000008001000
  2557. 28888850000000000000000000000010020000000040000008001000
  2558. 28FFF850000000000000000000000010020000000040000008001000
  2559. 28888850000000000000000000000010020000000040000008001000
  2560. 28888850000000000000000000000010020000000040000008001000
  2561. 28888850000000000000000000000010020000000040000008001000
  2562. 28FFF850000000000000000000000010020000000040000008001000
  2563. 28888850000000000000000000000010020000000040000008001000
  2564. 2888885000000000000000000000001003FFFFFFFFC0000008001000
  2565. 28888850000000000000000000000010000000000000000008001000
  2566. 28FFF850000000000000000000000010000000000000000008001000
  2567. 28000050000000000000000000000010000000000000000008001000
  2568. 28000050000000000000000000000010000000000000000008001000
  2569. 28000050000000000000000000000010000000000000000008001000
  2570. 2FFFFFD0000000000000000000000010000000000000000008001000
  2571. 20000010000000000000000000000010000000000000000008001000
  2572. 2FFFFFD0000000000000000000000010000000000000000008001000
  2573. 28000050000000000000000000000010000000000000000008001000
  2574. 2800005000000000000000000000001000FFFFFFFFFFC00008001000
  2575. 28000050000000000000000000000010008000000002C00008001000
  2576. 28FE0050000000000000000000000010008000000001400008001000
  2577. 28BB8050000000000000000000000010008000000001400008001000
  2578. 28BA8050000000000000000000000010008000000001400008001000
  2579. 28FEF0500000000000000000000000100080103C0201400008001000
  2580. 28839050000000000000000000000010008000220201400008001000
  2581. 2882905000000000000000000000001000BB3722E701400008001000
  2582. 2882F05000000000000000000000001000A494BC9201400008001000
  2583. 2882905000000000000000000000001000A494A09201400008001000
  2584. 2882905000000000000000000000001000A494A09201400008001000
  2585. 28FE905000000000000000000000001000A494A09101400008001000
  2586. 28109050000000000000000000000010008000000001400008001000
  2587. 281F9050000000000000000000000010008000000001400008001000
  2588. 28021050000000000000000000000010008000000002C00008001000
  2589. 2803F05000000000000000000000001000FFFFFFFFFFC00008001000
  2590. 28000050000000000000000000000010000000000000000008001000
  2591. 28000050000000000000000000000010000000000000000008001000
  2592. 2FFFFFD0000000000000000000000010000000000000000008001000
  2593. 20000010000000000000000000000010000000000000000008001000
  2594. 2FFFFFD0000000000000000000000010000000000000000008001000
  2595. 28000050000000000000000000000010000000000000000008001000
  2596. 28000050000000000000000000000010000000000000000008001000
  2597. 29FF0050000000000000000000000010000000000000000008001000
  2598. 29010050000000000000000000000010000000000000000008001000
  2599. 29FFFE50000000000000000000000010007FFFFFFFFFE00008001000
  2600. 29084250000000000000000000000010004000000001600008001000
  2601. 29084250000000000000000000000010004000000000A00008001000
  2602. 29084250000000000000000000000010004000000000A00008001000
  2603. 29FFFE50000000000000000000000010004000000000A00008001000
  2604. 2908425000000000000000000000001000400003C020A00008001000
  2605. 29084250000000000000000000000010004000022020A00008001000
  2606. 29084250000000000000000000000010005D8C8A2E70A00008001000
  2607. 2908425000000000000000000000001000524253C920A00008001000
  2608. 2908425000000000000000000000001000524E220920A00008001000
  2609. 29084250000000000000000000000010005252520920A00008001000
  2610. 29FFFE5000000000000000000000001000524E8A0910A00008001000
  2611. 28000050000000000000000000000010004000000000A00008001000
  2612. 28000050000000000000000000000010004000000000A00008001000
  2613. 28000050000000000000000000000010004000000001600008001000
  2614. 2FFFFFD0000000000000000000000010007FFFFFFFFFE00008001000
  2615. 20000010000000000000000000000010000000000000000008001000
  2616. 2FFFFFD0000000000000000000000010000000000000000008001000
  2617. 28000050000000000000000000000010000000000000000008001000
  2618. 28000050000000000000000000000010000000000000000008001000
  2619. 28000050000000000000000000000010000000000000000008001000
  2620. 28000050000000000000000000000010000000000000000008001000
  2621. 28000050000000000000000000000010000000000000000008001000
  2622. 28000050000000000000000000000010000000000000000008001000
  2623. 2B8DF750000000000000000000000010000000000000000008001000
  2624. T 215 66 198 464 28 215 66 T 0 db
  2625. 28000050000000000000000000000010000000000000000008001000
  2626. 28000050000000000000000000000010000000000000000008001000
  2627. 28000050000000000000000000000010000000000000000008001000
  2628. 2B8DF750000000000000000000000010000000000000000008001000
  2629. 2A524450000000000000000000000010000000000000000008001000
  2630. 2A524450000000000000000000000010000000000000000008001000
  2631. 2A52465000000000000000000000001FFFFFFFFFFFFFFFFFF8001000
  2632. 2A5E4450000000000000000000000010000000388400000008001000
  2633. 2A524450000000000000000000000010000000440400000008001000
  2634. 2B924750000000000000000000000010000006419CC0000008001000
  2635. 2800005000000000000000000000001000000138A520000008001000
  2636. 2800005000000000000000000000001000000704A5E0000008001000
  2637. 2800005000000000000000000000001000000944A500000008001000
  2638. 28000050000000000000000000000010000007389CC0000008001000
  2639. 2800005000000000000000000000001FFFFFFFFFFFFFFFFFF8001000
  2640. 28000050000000000000000000000000000000000000000000001000
  2641. 2FFFFFD0000000000000000000000000000000000000000000001000
  2642. 20000010000000000000000000000000000000000000000000001000
  2643. 2FFFFFD0000000000000000000000000000000000000000000001000
  2644. 28000050000000000000000000000000000000000000000000001000
  2645. 28000050000000000000000000000000000000000000000000001000
  2646. 29FFFE50000000000000000000000000000000000000000000001000
  2647. 29FFFE50000000000000000000000000000000000000000000001000
  2648. 29000250000000000000000000000000000000000000000000001000
  2649. 29000250000000000000000000000000000000000000000000001000
  2650. 29000250000000000000000000000000000000000000000000001000
  2651. 29FFFE50000000000000000000000000000000000000000000001000
  2652. 29000250000000000000000000000000000000000000000000001000
  2653. 29000250000000000000000000000000000000000000000000001000
  2654. 29000250000000000000000000000000000000000000000000001000
  2655. 29FFFE50000000000000000000000000000000000000000000001000
  2656. 29000250000000000000000000000000000000000000000000001000
  2657. 29000250000000000000000000000000000000000000000000001000
  2658. 2900025FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000
  2659. 29FFFE50000000000000000000000000000000000000000000000000
  2660. 28000050000000000000000000000000000000000000000000000000
  2661. 28000050000000000000000000000000000000000000000000000000
  2662. 28000050000000000000000000000000000000000000000000000000
  2663. 28000050000000000000000000000000000000000000000000000000
  2664. 2FFFFFD0000000000000000000000000000000000000000000000000
  2665. 20000010000000000000000000000000000000000000000000000000
  2666. 2FFFFFD0000000000000000000000000000000000000000000000000
  2667. 28000050000000000000000000000000000000000000000000000000
  2668. 28974450000000000000000000000000000000000000000000000000
  2669. 28D44450000000000000000000000000000000000000000000000000
  2670. 28B65450000000000000000000000000000000000000000000000000
  2671. 28945450000000000000000000000000000000000000000000000000
  2672. 28972850000000000000000000000000000000000000000000000000
  2673. 28000050000000000000000000000000000000000000000000000000
  2674. 28000050000000000000000000000000000000000000000000000000
  2675. 2BE00050000000000000000000000000000000000000000000000000
  2676. 2895BB50000000000000000000000000000000000000000000000000
  2677. 28896250000000000000000000000000000000000000000000000000
  2678. 2889B150000000000000000000000000000000000000000000000000
  2679. 28892550000000000000000000000000000000000000000000000000
  2680. 28893A50000000000000000000000000000000000000000000000000
  2681. 28000050000000000000000000000000000000000000000000000000
  2682. 28000050000000000000000000000000000000000000000000000000
  2683. 28000050000000000000000000000000000000000000000000000000
  2684. 28000050000000000000000000000000000000000000000000000000
  2685. 28000050000000000000000000000000000000000000000000000000
  2686. 2FFFFFD0000000000000000000000000000000000000000000000000
  2687. 20000010000000000000000000000000000000000000000000000000
  2688. 3FFFFFF0000000000000000000000000000000000000000000000000
  2689. 00000000000000000000000000000000000000000000000000000000
  2690. 00000000000000000000000000000000000000000000000000000000
  2691. 00000000000000000000000000000000000000000000000000000000
  2692. 00000000000000000000000000000000000000000000000000000000
  2693. 00000000000000000000000000000000000000000000000000000000
  2694. 00000000000000000000000000000000000000000000000000000000
  2695. 561 219 gm
  2696. (nc 32 30 762 582 6 rc)kp
  2697. bu fc
  2698. 2 F /|______Times-Roman fnt
  2699. bn
  2700. -0.13179 0.(Figure 2.3  The Data Definition Tool)ashow
  2701. 597 81 gm
  2702. 1.13464 0. 32 0.11346 0.(The Function Definition Tool is used to create functions from primitive and user-defined)awidthshow
  2703. 621 81 gm
  2704. -0.09162 0.(functions.  The dataflow paradigm is used to execute programs in the Function Definition Tool.)ashow
  2705. 645 81 gm
  2706. 1.78115 0. 32 0.17811 0.(Boxes are used to represent data, primitive functions, and user-defined function.  New)awidthshow
  2707. 669 81 gm
  2708. 0.28472 0. 32 0.02847 0.(functions are created by connecting these boxes together.  There are two ways of connecting)awidthshow
  2709. 693 81 gm
  2710. 0.34851 0. 32 0.03485 0.(boxes, explicitly and implicitly.  A link is used to create an explicit connection between two)awidthshow
  2711. F T cp
  2712. %%Page: ? 15
  2713. op
  2714. 32 30 xl
  2715. 1 1 pen
  2716. 735 300 gm
  2717. (nc 32 30 762 582 6 rc)kp
  2718. 1 setTxMode
  2719. 0 fs
  2720. 12 fz
  2721. bu fc
  2722. 2 F /|______Times-Roman fnt
  2723. bn
  2724. (11)show
  2725. 93 81 gm
  2726. 0.25588 0. 32 0.02558 0.(boxes.  An implicit connection between boxes is formed when one box overlaps another box)awidthshow
  2727. 117 81 gm
  2728. -0.07205 0.(on the screen.  Figure 2.4 contains a picture of the Function Definition Tool.)ashow
  2729. 0 0 gm
  2730. (nc 168 154 391 458 6 rc)kp
  2731. T 304 57 154 168 40 304 57 T 0 db
  2732. 00000000000000000000000000000000000000000000000000000000000000000000000000000000
  2733. 00000000000000000000000000000000000000000000000000000000000000000000000000000000
  2734. 00000000000000000000000000000000000000000000000000000000000000000000000000000000
  2735. 00000000000000000000000000000000000000000000000000000000000000000000000000000000
  2736. 0000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000000000000000000000000000000000
  2737. 00000010000000000000000000000000000000000000040000000000000000000000000000000000
  2738. 00000010000000000000000000000000000000000000040000000000000000000000000000000000
  2739. 00000010000000000000000000000000000000000000040000000000000000000000000000000000
  2740. 00000011F0000008200000F0006200210400003F8000640000000000000000000000000000000000
  2741. 00000011000000080000008800800001000000040000240000000000000000000000000000000000
  2742. 000000110225871C61C5808471C62C638C38B0040E1C240000000000000000000000000000000000
  2743. 000000110226488822264084888232210444C8041122240000000000000000000000000000000000
  2744. 00000011E22448082224408488822221044488041122240000000000000000000000000000000000
  2745. 000000110224480822244084F8822221044488041122240000000000000000000000000000000000
  2746. 00000011022448082224408480822221044488041122240000000000000000000000000000000000
  2747. 00000011026448882224408888822221044488041122240000000000000000000000000000000000
  2748. 0000001101A4470621C440F070822220C43888040E1C240000000000000000000000000000000000
  2749. 00000010000000000000000000000000000000000000040000000000000000000000000000000000
  2750. 00000010000000000000000000000000000000000000040000000000000000000000000000000000
  2751. 00000010000000000000000000000000000000000000040000000000000000000000000000000000
  2752. 00000010000000000000000000000000000000000000040000000000000000000000000000000000
  2753. 3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000
  2754. 20000010000000000000000000000000000000000000000000000000000000000000000000100000
  2755. 2FFFFFD0000000000000000000000000000000000000000000000000000000000000000000100000
  2756. 28000050000000000000000000000000000000000000000000000000000000000000000000100000
  2757. 2BFFFE50000000000000000000000000000000000000000000000000000000000000000000100000
  2758. 2A000250000000000000000000000000000000000000000000000000000000000000000000100000
  2759. 2A392250000000000000000000000000000000000000000000000000000000000000000000100000
  2760. 2A11A250000000000000000000000000000000000000000000000000000000000000000000100000
  2761. 2A116250000000000000000000000000000000000000000000000000000000000000000000100000
  2762. 2A392250000000000000000000000000000000000000000000000000000000000000000000100000
  2763. 2A000250000000000000000000000000000000000000000000000000000000000000000000100000
  2764. 2BF07E50000000000000000000000000000000000000000000000000000000000000000000100000
  2765. 28104050000000000000000000000000000000000000000000000000000000000000000000100000
  2766. 28104050000000000000000000000000000000000000000000000000000000000000000000100000
  2767. 28707050000000000000000000000000000000000000000000000000000000000000000000100000
  2768. 28401050000000000000000000000000000000000000000000000000000000000000000000100000
  2769. 28202050000000000000000000000000000000000000000000000000000000000000000000100000
  2770. 28104050000000000000000000000000000000000000000000000000000000000000000000100000
  2771. 28088050000000000000000000000000000000000000000000000000000000000000000000100000
  2772. 28050050000000000000000000000000000000000000000000000000000000000000000000100000
  2773. 28020050000000000000000000007FFFFFFC0FFFFFFF800000000000000000000000000000100000
  2774. 28000050000000000000000000004010000408020000800000000000000000000000000000100000
  2775. 2FFFFFD0000000000000000000004013C20408027870800000000000000000000000000000100000
  2776. 20000010000000000000000000004012260408024488800000000000000000000000000000100000
  2777. 2FFFFFD0000000000000000000004292220408524408800000000000000000000000000000100000
  2778. 28000050000000000000000000004FD3C20409FA7810800000000000000000000000000000100000
  2779. 2850A050000000000000000000004512820408A25020800000000000000000000000000000100000
  2780. 28224050000000000000000000005F9242040BF24840800000000000000000000000000000100000
  2781. 28504050000000000000000000004A122204094244F8800000000000000000000000000000100000
  2782. 28000050000000000000000000004010000408020000800000000000000000000000000000100000
  2783. 28000050000000000000000000007FFFFFFC0FFFFFFF800000000000000000000000000000100000
  2784. 280020500000000000000000000040000004080000008000003FFFFFFFFC00000000000000100000
  2785. 28000050000000000000000000004871C0E40B8E381C800000200000000400000000000000100000
  2786. 2A08F85000000000000000000000588A21140C514422800000200000000400000000000000100000
  2787. 2AA8005000000000000000000000488A211408514422800000200000000400000000000000100000
  2788. 2A48205000000000000000000000488A211408914422800000200000000400000000000000100000
  2789. 2AA8005000000000000000000000488A211409114422800000211030000400000000000000100000
  2790. 2800005000000000000000000000488A21140A114422800000211010000400000000000000100000
  2791. 28000050000000000000000000004871C4E40FCE389C80000020A311260400000000000000100000
  2792. 2800805000000000000000000000400000040800000080000020A491290400000000000000100000
  2793. T 304 56 154 225 40 304 56 T 0 db
  2794. 2AA8005000000000000000000000488A211409114422800000211030000400000000000000100000
  2795. 2800005000000000000000000000488A21140A114422800000211010000400000000000000100000
  2796. 28000050000000000000000000004871C4E40FCE389C80000020A311260400000000000000100000
  2797. 2800805000000000000000000000400000040800000080000020A491290400000000000000100000
  2798. 29E1405000000000000000000000400000040800000080000020A3912F0400000000000000100000
  2799. 28028050000000000000000000007FFFFFFC0FFFFFFF800000204491280400000000000000100000
  2800. 28012A5000000000000000000000000A002801400002800000204491290400000000000000100000
  2801. 28000050000000000000000000000004001000800001000000204390E60400000000000000100000
  2802. 2FFFFFD0000000000000000000000004001000800001000000200000000400000000000000100000
  2803. 20000010000000000000000000000004001000800001000000200000000400000000000000100000
  2804. 2FFFFFD0000000000000000000000004001000800001000000200000000400000000000000100000
  2805. 2FFFFFD0000000000000000000000004049090890001000000200000000400000000000000100000
  2806. 2FFFFFD00000000000000000000000040240480480010000003FFFFFFFFFFFFFFFFFF00000100000
  2807. 2FFFFFD0000000000000000000000003F93F27F27FC1000000200000000000000000100000100000
  2808. 2FFFFFD0000000000000000000000002024048048089000000200000000000000000100000100000
  2809. 2C3FFFD0000000000000000000000004048090090055400000200000000000000000100000100000
  2810. 2DFFFFD0000000000000000000000000001000400022800000200000000000000000100000100000
  2811. 2DFCF9D0000000000000000000000000000800800021000000200000000000000000100000100000
  2812. 2CF9ACD0000000000000000000000000003802400024400000200C63030000000000100000100000
  2813. 2DFB8ED0000000000000000000000000001001C00022800000201294848000000000100000100000
  2814. 2DFBDED0000000000000000000000000001000800021000000200294848000000000100000100000
  2815. 2D898CD0000000000000000000000000001000800089000000200C94848000000000100000100000
  2816. 2DACA9D0000000000000000000000000001000800051000000200294848000000000100000100000
  2817. 2DAFFFD0000000000000000000000000001000800021000000201294848000000000100000100000
  2818. 2FFFFFD0000000000000000000000000001000800089000000200C63130000000000100000100000
  2819. 2FFFFFD0000000000000000000000000001000800051000000200000000000000000100000100000
  2820. 2FFFFFD0000000000000000000000000000000800021000000200000000000000000100000100000
  2821. 2FFFFFD000000000000000000000000000FFFFF807FFFFC000200000000000000000100000100000
  2822. 2FFFFFD0000000000000000000000000008000080400004000200000000000000000100000100000
  2823. 2FFFFFD00000000000000000000000000080000804000040003FFFFFFFFFFFFFFFFFF00000100000
  2824. 2FFFFFD0000000000000000000000000008000080400004000000000000000000000000000100000
  2825. 20000010000000000000000000000000008000080400004000000000000000000000000000100000
  2826. 2FFFFFD0000000000000000000000000008000080400004000000000000000000000000000100000
  2827. 28000050000000000000000000000000008000080401004000000000000000000000000000100000
  2828. 2801E0507FFFFFFFF800000000000000008020080401004000000000000000000000000000100000
  2829. 288000504000000008000000000000000080A8080401004000000000000000000000000000100000
  2830. 2841E05040000000080000000000000000807008040FE04000000000000000000000000000100000
  2831. 282000504000000008000000000000000081FC080401004000000000000000000000000000100000
  2832. 28400050400000000800000000000000008070080401004000000000000000000000000000100000
  2833. 288230504220600008000000000000000080A8080401004000000000000000000000000000100000
  2834. 28044850422020000800000000000000008020080400004000000000000000000000000000100000
  2835. 280848504146224C0800000000000000008000080400004000000000000000000000000000100000
  2836. 28044850414922520800000000000000008000080400004000000000000000000000000000100000
  2837. 280248504147225E0800000000000000008000080400004000000000000000000000000000100000
  2838. 28003050408922500800000000000000008000080400004000000000000000000000000000100000
  2839. 280F0050408922520800000000000000008000080400004000000000000000000000000000100000
  2840. 28000050408721CC0800000000000000008000080400004000000000000000000000000000100000
  2841. 2800105040000000080000000000000000FFFFF807FFFFC000000000000000000000000000100000
  2842. 2800F850400000000800000000000000000000500140000000000000000000000000000000100000
  2843. 29502050400000000800000000000000000000200080000000000000000000000000000000100000
  2844. 2800F850400000000800000000000000000000200080000000000000000000000000000000100000
  2845. 280040507FFFFFFFFFFFFFFFFFFFFFFFFFF000200080000000000000000000000000000000100000
  2846. 2FFFFFD0400000000000000000000000001000200080000000000000000000000000000000100000
  2847. 20000010400000000000000000000000001000200080000000000000000000000000000000100000
  2848. 2FFFFFD0400000000000000000000000001000200080000000000000000000000000000000100000
  2849. 28000050400000000000000000000000001000200080000000000000000000000000000000100000
  2850. 2B800050400000000000000000000000001000880220000000000000000000000000000000100000
  2851. 2A2500504018C6318300000000000000001000500140000000000000000000000000000000100000
  2852. 2B3400504025294A4480000000000000001000200080000000000000000000000000000000100000
  2853. 2A2C00504005294A4480000000000000001000880220000000000000000000000000000000100000
  2854. T 304 56 154 281 40 304 56 T 0 db
  2855. 2B800050400000000000000000000000001000880220000000000000000000000000000000100000
  2856. 2A2500504018C6318300000000000000001000500140000000000000000000000000000000100000
  2857. 2B3400504025294A4480000000000000001000200080000000000000000000000000000000100000
  2858. 2A2C00504005294A4480000000000000001000880220000000000000000000000000000000100000
  2859. 2A2500504009294A4480000000000000001000500140000000000000000000000000000000100000
  2860. 280000504011294A4480000000000000001000200080000000000000000000000000000000100000
  2861. 29FFFE504025294A4480000000000000001000200080000000000000000000000000000000100000
  2862. 29084250403CC6319300000000000000001000200080000000000000000000000000000000100000
  2863. 29084250400000000000000000000000001000200080000000000000000000000000000000100000
  2864. 29084250400000000000000000000000001000200080000000000000000000000000000000100000
  2865. 29084250400000000000000000000000001000200080000000000000000000000000000000100000
  2866. 29084250400000000000000000000000001000FFFFF0000000000000000000000000000000100000
  2867. 29FFFE507FFFFFFFFFFFFFFFFFFFFFFFFFF000800010000000000000000000000000000000100000
  2868. 28010050000000000000000000000000000000800010000000000000000000000000000000100000
  2869. 28010050000000000000000000000000000000800010000000000000000000000000000000100000
  2870. 28010050000000000000000000000000000000800010000000000000000000000000000000100000
  2871. 28010050000000000000000000000000000000800010000000000000000000000000000000100000
  2872. 28000050000000000000000000000000000000800010000000000000000000000000000000100000
  2873. 2FFFFFD0000000000000000000000000000000800010000000000000000000000000000000100000
  2874. 20000010000000000000000000000000000000A42150000000000000000000000000000000100000
  2875. 2FFFFFD0000000000000000000000000000000980150000000000000000000000000000000100000
  2876. 2800005000000000000000000000000000000098F890000000000000000000000000000000100000
  2877. 28000050000000000000000000000000000000A40090000000000000000000000000000000100000
  2878. 28000050000000000000000000000000000000802010000000000000000000000000000000100000
  2879. 28000050000000000000000000000000000000800010000000000000000000000000000000100000
  2880. 28000050000000000000000000000000000000800010000000000000000000000000000000100000
  2881. 2A000050000000000000000000000000000000800010000000000000000000000000000000100000
  2882. 2A000050000000000000000000000000000000800010000000000000000000000000000000100000
  2883. 2A000050000000000000000000000000000000800010000000000000000000000000000000100000
  2884. 2A224C50000000000000000000000000000000800010000000000000000000000000000000100000
  2885. 2A555050000000000000000000000000000000FFFFF0000000000000000000000000000000100000
  2886. 2A555050000000000000000000000000000000002800000000000000000000000000000000100000
  2887. 2B234C50000000000000000000000000000000001000000000000000000000000000000000100000
  2888. 28010050000000000000000000000000000000001000000000000000000000000000000000100000
  2889. 28010050000000000000000000000000000000001000000000000000000000000000000000100000
  2890. 28030050000000000000000000000000000000001000000000000000000000000000000000100000
  2891. 28000050000000000000000000000000000000001000000000000000000000000000000000100000
  2892. 28000050000000000000000000000000000000001000000000000000000000000000000000100000
  2893. 2800005000000000000000000000000000000000100000FFFFFFFFF0000000000000000000100000
  2894. 28000050000000000000000000000000000000001000008000000010000000000000000000100000
  2895. 2FFFFFD0000000000000000000000000000000004400008000000010000000000000000000100000
  2896. 20000010000000000000000000000000000000002800008000000010000000000000000000100000
  2897. 2FFFFFD00000000000000000000000000000007FFFFE008000000010000000000000000000100000
  2898. 28000050000000000000000000000000000000408202008440C00010000000000000000000100000
  2899. 28000050000000000000000000000000000000408202008440400010000000000000000000100000
  2900. 2804005000000000000000000000000000000040820200828C449810000000000000000000100000
  2901. 280E005000000000000000000000000000000043838200829244A410000000000000000000100000
  2902. 2804005000000000000000000000000000000042008200828E44BC10000000000000000000100000
  2903. 2804005000000000000000000000000000000041010200811244A010000000000000000000100000
  2904. 2904005000000000000000000000000000000040820200811244A410000000000000000000100000
  2905. 2B8A005000000000000000000000000000000040440200810E439810000000000000000000100000
  2906. 29117C50000000000000000000000000000000402802008000000010000000000000000000100000
  2907. 290A0450000000000000000000000000000000401002008000000010000000000000000000100000
  2908. 29040450000000000000000000000000000000400002008000000010000000000000000000100000
  2909. 29040E500000000000000000000000000000005FFFFA008000000010000000000000000000100000
  2910. 290E045000000000000000000000000000000050000A00FFFFFFFFFFFFFFFFFFFFFFFFFFE0100000
  2911. 290400500000000000000000000000000000005325CA008000000000000000000000000020100000
  2912. 29001F5000000000000000000000000000000054A48A008000000000000000000000000020100000
  2913. 291F115000000000000000000000000000000054A48A008000000000000000000000000020100000
  2914. 29111F50000000000000000000000000000000531C8A008000000000000000000000000020100000
  2915. T 304 56 154 337 40 304 56 T 0 db
  2916. 290400500000000000000000000000000000005325CA008000000000000000000000000020100000
  2917. 29001F5000000000000000000000000000000054A48A008000000000000000000000000020100000
  2918. 291F115000000000000000000000000000000054A48A008000000000000000000000000020100000
  2919. 29111F50000000000000000000000000000000531C8A008000000000000000000000000020100000
  2920. 29DF005000000000000000000000000000000050000A008000000000000000000000000020100000
  2921. 280000500000000000000000000000000000005FFFFA008031818C67800000000000000020100000
  2922. 2FFFFFD0000000000000000000000000000000400002008042021084800000000000000020100000
  2923. 200000100000000000000000000000000000007FFFFE008073839CE0800000000000000020100000
  2924. 2FFFFFD000000000000000000000000000000000000000804A425291000000000000000020100000
  2925. 2800005000000000000000000000000000000000000000804A425291000000000000000020100000
  2926. 2926EE5000000000000000000000000000000000000000804A425292000000000000000020100000
  2927. 29288950000000000000000000000000000000000000008031898C62000000000000000020100000
  2928. 2924CE50000000000000000000000000000000000000008000000000000000000000000020100000
  2929. 29228A50000000000000000000000000000000000000008000000000000000000000000020100000
  2930. 28CCE950000000000000000000000000000000000000008000000000000000000000000020100000
  2931. 28000050000000000000000000000000000000000000008000000000000000000000000020100000
  2932. 299DC05000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFE0100000
  2933. 29510050000000000000000000000000000000000000000000000000000000000000000000100000
  2934. 29598050000000000000000000000000000000000000000000000000000000000000000000100000
  2935. 29510050000000000000000000000000000000000000000000000000000000000000000000100000
  2936. 299D0050000000000000000000000000000000000000000000000000000000000000000000100000
  2937. 28000050000000000000000000000000000000000000000000000000000000000000000000100000
  2938. 29C00050000000000000000000000000000000000000000000000000000000000000000000100000
  2939. 29120050000000000000000000000000000000000000000000000000000000000000000000100000
  2940. 299A0050000000000000000000000000000000000000000000000000000000000000000000100000
  2941. 29160050000000000000000000000000000000000000000000000000000000000000000000100000
  2942. 29128050000000000000000000000000000000000000000000000000000000000000000000100000
  2943. 28000050000000000000000000000000000000000000000000000000000000000000000000100000
  2944. 2FFFFFD0000000000000000000000000000000000000000000000000000000000000000000100000
  2945. 20000010000000000000000000000000000000000000000000000000000000000000000000100000
  2946. 2FFFFFD0000000000000000000000000000000000000000000000000000000000000000000100000
  2947. 28104050000000000000000000000000000000000000000000000000000000000000000000100000
  2948. 28104050000000000000000000000000000000000000000000000000000000000000000000100000
  2949. 2810405FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000
  2950. 28707050000000000000000000000000000000000000000000000000000000000000000000000000
  2951. 28401050000000000000000000000000000000000000000000000000000000000000000000000000
  2952. 28202050000000000000000000000000000000000000000000000000000000000000000000000000
  2953. 28104050000000000000000000000000000000000000000000000000000000000000000000000000
  2954. 28088050000000000000000000000000000000000000000000000000000000000000000000000000
  2955. 28050050000000000000000000000000000000000000000000000000000000000000000000000000
  2956. 28020050000000000000000000000000000000000000000000000000000000000000000000000000
  2957. 28000050000000000000000000000000000000000000000000000000000000000000000000000000
  2958. 2BFFFF50000000000000000000000000000000000000000000000000000000000000000000000000
  2959. 2A000150000000000000000000000000000000000000000000000000000000000000000000000000
  2960. 2A64B950000000000000000000000000000000000000000000000000000000000000000000000000
  2961. 2A949150000000000000000000000000000000000000000000000000000000000000000000000000
  2962. 2A949150000000000000000000000000000000000000000000000000000000000000000000000000
  2963. 2A639150000000000000000000000000000000000000000000000000000000000000000000000000
  2964. 2A000150000000000000000000000000000000000000000000000000000000000000000000000000
  2965. 2BFFFF50000000000000000000000000000000000000000000000000000000000000000000000000
  2966. 28000050000000000000000000000000000000000000000000000000000000000000000000000000
  2967. 2FFFFFD0000000000000000000000000000000000000000000000000000000000000000000000000
  2968. 20000010000000000000000000000000000000000000000000000000000000000000000000000000
  2969. 3FFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000
  2970. 00000000000000000000000000000000000000000000000000000000000000000000000000000000
  2971. 00000000000000000000000000000000000000000000000000000000000000000000000000000000
  2972. 00000000000000000000000000000000000000000000000000000000000000000000000000000000
  2973. 00000000000000000000000000000000000000000000000000000000000000000000000000000000
  2974. 00000000000000000000000000000000000000000000000000000000000000000000000000000000
  2975. 00000000000000000000000000000000000000000000000000000000000000000000000000000000
  2976. 424 209 gm
  2977. (nc 32 30 762 582 6 rc)kp
  2978. bu fc
  2979. 2 F /|______Times-Roman fnt
  2980. bn
  2981. -0.09301 0.(Figure 2.4  The Function Definition Tool)ashow
  2982. 460 81 gm
  2983. -0.08222 0.(The Data Base Management Tool is used to query and manipulate a data base.  A picture of the)ashow
  2984. 484 81 gm
  2985. -0.05763 0.(Function Definition Tool is contained in Figure 2.5.  This tool provides a graphical interface to)ashow
  2986. 508 81 gm
  2987. 0.30944 0. 32 0.03094 0.(a data base, and it is used to define, query, update, and control a relational data base.  Boxes)awidthshow
  2988. 532 81 gm
  2989. -0.06971 0.(represent the database records and the query functions.  There are no links used in this tool.)ashow
  2990. 568 81 gm
  2991. 1.79367 0. 32 0.17936 0.(The Control Flow Tool is used to create procedures with a flowcharting paradigm.  A)awidthshow
  2992. 592 81 gm
  2993. -0.06462 0.(flowchart is created by connecting the flowchart boxes that are provided, including start boxes,)ashow
  2994. 616 81 gm
  2995. 1.51489 0. 32 0.15148 0.(action boxes, test boxes, and interaction object boxes.  The procedures created here are)awidthshow
  2996. 640 81 gm
  2997. -0.06588 0.(available to the entire system.  A sample flowchart is shown in figure 2.6.)ashow
  2998. F T cp
  2999. %%Page: ? 16
  3000. op
  3001. 32 30 xl
  3002. 1 1 pen
  3003. 735 300 gm
  3004. (nc 32 30 762 582 6 rc)kp
  3005. 1 setTxMode
  3006. 0 fs
  3007. 12 fz
  3008. bu fc
  3009. 2 F /|______Times-Roman fnt
  3010. bn
  3011. (12)show
  3012. 0 0 gm
  3013. (nc 72 128 214 484 6 rc)kp
  3014. T 356 73 128 72 46 356 73 T 0 db
  3015. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3016. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3017. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3018. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3019. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3020. 0000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000000000000000000000000000000000000
  3021. 00000020000000000000000000000000000000000000000000020000000000000000000000000000000000000000
  3022. 00000020000000000000000000000000000000000000000000020000000000000000000000000000000000000000
  3023. 00000020000000000000000000000000000000000000000000020000000000000000000000000000000000000000
  3024. 00000020000000000000000000000000000000000000000000020000000000000000000000000000000000000000
  3025. 000000200F0008000F800000041000000000000000101FC000320000000000000000000000000000000000000000
  3026. 00000020088008000840000006300000000000000010020000120000000000000000000000000000000000000000
  3027. 0000002008471C3808470E1C0551C5870F1C5987163802070E120000000000000000000000000000000000000000
  3028. 00000020084888440F88912204922648912266489910020891120000000000000000000000000000000000000000
  3029. 000000200847883C084790220411E447912244489110020891120000000000000000000000000000000000000000
  3030. 000000200848884408488E3E04122448913E444F9110020891120000000000000000000000000000000000000000
  3031. 00000020084888440848812004122448912044481110020891120000000000000000000000000000000000000000
  3032. 00000020088888440848912204122448912244489110020891120000000000000000000000000000000000000000
  3033. 000000200F07863C0F878E1C0411E4478F1C4447110C02070E120000000000000000000000000000000000000000
  3034. 00000020000000000000000000000000010000000000000000020000000000000000000000000000000000000000
  3035. 00000020000000000000000000000000110000000000000000020000000000000000000000000000000000000000
  3036. 000000200000000000000000000000000E0000000000000000020000000000000000000000000000000000000000
  3037. 3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
  3038. 20000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3039. 2FFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3040. 2FFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3041. 2FFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3042. 2E01FFA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3043. 2EFDFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3044. 2E0001A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3045. 2EF7BDA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3046. 2EF7BDA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3047. 2E0001A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3048. 2EF7BDA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3049. 2EF7BDA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3050. 2EF7BDA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3051. 2EF7BDA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3052. 2EF7BDA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3053. 2EF7BDA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3054. 2EF7BDA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3055. 2E0001A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3056. 2FFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3057. 2FFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3058. 2FFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3059. 20000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3060. 2FFFFFA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3061. 280000A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3062. 280000A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3063. 280000A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3064. 29FFFCA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3065. 290004A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3066. 294914A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3067. 292AA4A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3068. 290004A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3069. 29FFFCA0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3070. 290004A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3071. 290004A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3072. 290004A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3073. 290004A0000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3074. 290004A000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800008000
  3075. 290004A0000008000000000004000000000008000000000020000000000100000000000400000000000800008000
  3076. 29FFFCA0000008000000000004000000000008000000000020000000000100000000000400000000000800008000
  3077. 280000A0000008E071C0000F85F71FCCE60008000000000020000000000100000000000400000000000800008000
  3078. 280000A00000084031802004849319244900080000000000200400000001200000000004C0000000000800008000
  3079. 280000A0000008482A91B2540482A92650800B89F080000022A64000000136F88000000440000000000800008000
  3080. 2FFFFFA0000008402AAA256704E2A9C550800954A94000002354A0000001229540000004C9C60000000800008000
  3081. 20000020000008402499274404824904D080094CA9C000002234E00000012295C000000554A80000000800008000
  3082. 2FFFFFA00000084024A8A4440492490449000954A90000002254800000012295000000055CA40000000800008000
  3083. 280000A0000008E871F7134E05F71F8E46000BFBFCC00000226A600000011118C000000550A20000000800008000
  3084. 280000A00000080000000000040000000000080000000000200000000001011000000004ECCC0000000800008000
  3085. 280000A0000008000000000004000000000008000000000020000000000102380000000400800000000800008000
  3086. 280000A000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800008000
  3087. 280000A0000000000000000004000000000008000000000020000000000100000000000400000000000800008000
  3088. 28F800A0000000000000000004000000000008000000000020000000000100000000000400000000000800008000
  3089. 29FC00A00000000000000000046098C0000009F00E00000022307800000108000000000460000000000800008000
  3090. 2B8E00A000000000000000000491A120000008900400000026484000000118000000000490000000000800008000
  3091. 2B0600A000000000000000000412B8200000088004CE230022087000000108000000000490000000000800008000
  3092. T 356 71 128 145 46 356 71 T 0 db
  3093. 28F800A0000000000000000004000000000008000000000020000000000100000000000400000000000800008000
  3094. 29FC00A00000000000000000046098C0000009F00E00000022307800000108000000000460000000000800008000
  3095. 2B8E00A000000000000000000491A120000008900400000026484000000118000000000490000000000800008000
  3096. 2B0600A000000000000000000412B8200000088004CE230022087000000108000000000490000000000800008000
  3097. 2B0600A000000000000000000464A4C0000008E00525540022100800000108000000000490000000000800008000
  3098. 2B061CA000000000000000000417A420000008800525720022200800000108000000000490000000000800008000
  3099. 2B0620A000000000000000000490A520000008801525410022484800000108000000000490000000000800008000
  3100. 2B1E18A00000000000000000046098C0000009C218CFB6002779300000011C000000000460000000000800008000
  3101. 2B8E04A0000000000000000004000000000008000000000020000000000100000000000400000000000800008000
  3102. 29FC38A0000000000000000004000000000008000000000020000000000100000000000400000000000800008000
  3103. 28FE00A0000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800008000
  3104. 280000A0000000000000000004000000000008000000000020000000000100000000000400000000000800008000
  3105. 280000A0000000000000000004000000000008000000000020000000000100000000000400000000000800008000
  3106. 280000A00000000000000000046798C0000009F00F0000002679818C000118000000000460000000000800008000
  3107. 2FFFFFA0000000000000000004842520000008880482000029424252000124000000000490000000000800008000
  3108. 20000020000000000000000004E72420000008880493256021724252000104000000000410000000000800008000
  3109. 3FFFFFE00000000000000000049098C0000008F0072A5680260A4252000108000000000460000000000800008000
  3110. 0000002000000000000000000490A420000008A0043A7440210A4252000110000000000410000000000800008000
  3111. 0000002000000000000000000494A5200000089004224420294A4252000124000000000490000000000800008000
  3112. 000000200000000000000000046318C0000009D90E1934C02631898C00013C000000000460000000000800008000
  3113. 00000020000000000000000004000000000008000000000020000000000100000000000400000000000800008000
  3114. 00000020000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800008000
  3115. 00000020000000000000000004000000000008000000000020000000000100000000000400000000000800008000
  3116. 00000020000000000000000004000000000008000000000020000000000100000000000420000000000800008000
  3117. 000000200000000000000000046308C000000BEE01E5B000260F7800000108000000000460000000000800008000
  3118. 00000020000000000000000004949900000009440220900029094000000118000000000420000000000800008000
  3119. 000000200000000000000000041089C000000944040C900029017000000108000000000420000000000800008000
  3120. 00000020000000000000000004610920000008A804E4900029020800000108000000000420000000000800008000
  3121. 00000020000000000000000004120920000008A80424900027020800000108000000000420000000000800008000
  3122. 00000020000000000000000004948920000008500224900021044800000108000000000470000000000800008000
  3123. 00000020000000000000000004679CC00000085081CFF8002624300000011C000000000400000000000800008000
  3124. 00000020000000000000000004000000000008000000000020000000000100000000000400000000000800008000
  3125. 00000020000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800008000
  3126. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3127. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3128. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3129. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3130. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3131. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3132. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3133. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3134. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3135. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3136. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3137. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3138. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3139. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3140. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3141. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3142. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3143. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3144. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3145. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3146. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3147. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3148. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3149. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3150. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3151. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3152. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3153. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3154. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3155. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3156. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3157. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3158. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3159. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3160. 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000
  3161. 0000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
  3162. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3163. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3164. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3165. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3166. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3167. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3168. 247 200 gm
  3169. (nc 32 30 762 582 6 rc)kp
  3170. bu fc
  3171. 2 F /|______Times-Roman fnt
  3172. bn
  3173. -0.13143 0.(Figure 2.5  The Data Base Management Tool)ashow
  3174. 0 0 gm
  3175. (nc 298 180 551 431 6 rc)kp
  3176. T 251 65 180 298 32 251 65 T 0 db
  3177. 0000000000000000000000000000000000000000000000000000000000000000
  3178. 0000000000000000000000000000000000000000000000000000000000000000
  3179. 0000000000000000000000000000000000000000000000000000000000000000
  3180. 0000000000000000000000000000000000000000000000000000000000000000
  3181. 0000000000000000000000000000000000000000000000000000000000000000
  3182. 0000000FFFFFFFFFFFFFFFFFFFFFFC0000000000000000000000000000000000
  3183. 0000000800000000000000000000040000000000000000000000000000000000
  3184. 0000000800000000000000000000040000000000000000000000000000000000
  3185. 0000000800000000000000000000040000000000000000000000000000000000
  3186. 0000000870002000C0F600007C00640000000000000000000000000000000000
  3187. 0000000888002000408200001000240000000000000000000000000000000000
  3188. 00000008818E72CC4082320810C6240000000000000000000000000000000000
  3189. 000000088249231240E24A081129240000000000000000000000000000000000
  3190. 0000000882492212408249501129240000000000000000000000000000000000
  3191. 0000000882492212408249501129240000000000000000000000000000000000
  3192. 000000088A492212408248A01129240000000000000000000000000000000000
  3193. 000000087189120C408230A010C6240000000000000000000000000000000000
  3194. 0000000800000000000000000000040000000000000000000000000000000000
  3195. 0000000800000000000000000000040000000000000000000000000000000000
  3196. 0000000800000000000000000000040000000000000000000000000000000000
  3197. 0000000800000000000000000000040000000000000000000000000000000000
  3198. 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
  3199. 1000000800000000000000000000000000000000000000000000000000000100
  3200. 17FFFFE800000000000000000000000000000000000000000000000000000100
  3201. 1400002800000000000000000000000000000000000000000000000000000100
  3202. 1407C82800000000000000000000000000000000000000000000000000000100
  3203. 14045E2800000000000000000000000000000000000000000000000000000100
  3204. 1407CA2800000000000000000000000000000000000000000000000000000100
  3205. 1401022800000000000000000000000000000000000000000000000000000100
  3206. 1401022800000000000000000000000000000000000000000000000000000100
  3207. 1407C22800000000000000000000000000000000000000000000000000000100
  3208. 1407C22800000000000000000000000000000000000000000000000000000100
  3209. 1401022800000000000000000000000000000000000000000000000000000100
  3210. 1441022800000000000000000000000000000000000000000000000000000100
  3211. 14E2822800000000000000000000000000000000000000000000000000000100
  3212. 1444422800000000000000000000000000000000000000000000000000000100
  3213. 14447E2800000000000000000000000000000000000000000000000000000100
  3214. 1442802800000000000000000000000000000000000000000000000000000100
  3215. 1441002800000000000000000000000000000000000000000000000000000100
  3216. 1441002800000000000000000000000000000000000000000000000000000100
  3217. 1447C028000000000000FFF00000000000000000000000000000000000000100
  3218. 147C402800000000000100080000000000000000000000000000000000000100
  3219. 1407C0280000000000023FC40000000000000000000000000000000000000100
  3220. 1400002800000000000440220000000000000000000000000000000000000100
  3221. 17FFFFE800000000000880110000000000000000000000000000000000000100
  3222. 1000000800000000000900090000000000000000000000000000000000000100
  3223. 17FFFFE800000000000A00050000000000000000000000000000000000000100
  3224. 17FFFFE800000000000A0F050000000000000000000000000000000000000100
  3225. 1400002800000000000A10050000000000000000000000000000000000000100
  3226. 17FFFFE800000000000A10050000000000000000000000000000000000000100
  3227. 1400002800000000000A0E050000000000000000000000000000000000000100
  3228. 14FFFE2800000000000A01050000000000000000000000000000000000000100
  3229. 14C1062800000000000A01050000000000000000000000000000000000000100
  3230. 1480022800000000000A1E050000000000000000000000000000000000000100
  3231. 1480022800000000000900090000000000000000000000000000000000000100
  3232. 1480022800000000000880110000000000000000000000000000000000000100
  3233. 1480022800000000000440220000000000000000000000000000000000000100
  3234. 148002280000000000023FC40000000000000000000000000000000000000100
  3235. 14C1062800000000000100080000000000000000000000000000000000000100
  3236. 14FFFE28000000000000FFF00000000000000000000000000000000000000100
  3237. 1400002800000000000005000000000000000000000000000000000000000100
  3238. 17FFFFE800000000000005000000000000000000000000000000000000000100
  3239. 1401002800000000000005000000000000000000000000000000000000000100
  3240. 14390E2800000000000005000000000000000000000000000000000000000100
  3241. 14110C280000000000000D800000000000000000000000000000000000000100
  3242. 1411082800000000000005000000000000000000000000000000000000000100
  3243. 1401002800000000000002000000000000000000000000000000000000000100
  3244. 17FFFFE800000000000008800000000000000000000000000000000000000100
  3245. 1000000800000000000005000000000000000000000000000000000000000100
  3246. T 251 63 180 363 32 251 63 T 0 db
  3247. 1411082800000000000005000000000000000000000000000000000000000100
  3248. 1401002800000000000002000000000000000000000000000000000000000100
  3249. 17FFFFE800000000000008800000000000000000000000000000000000000100
  3250. 1000000800000000000005000000000000000000000000000000000000000100
  3251. 17FFFFE800000000000007000000000000000000000000000000000000000100
  3252. 1400002800000000000005000000000000000000000000000000000000000100
  3253. 1400002800000000000005000000000000000000000000000000000000000100
  3254. 1400002800000000000005000000000000000000000000000000000000000100
  3255. 141F002800000000000005000000000000000000000000000000000000000100
  3256. 143F802800000000000005000000000000000000000000000000000000000100
  3257. 1471C02800000000000005000000000000000000000000000000000000000100
  3258. 1460C02800000000007FFFFFF800000000000000000000000000000000000100
  3259. 1460C02800000000008000000800000000000000000000000000000000000100
  3260. 1460C62800000000010000000800000000000000000000000000000000000100
  3261. 1460C82800000000020000000800000000000000000000000000000000000100
  3262. 1462C42800000000040000000800000000000000000000000000000000000100
  3263. 1473C22800000000080022080800000000000000000000000000000000000100
  3264. 143F8C2800000000080022080800000000000000000000000000000000000100
  3265. 141FC0280000000008E672380800000000000000000000000000000000000100
  3266. 1400602800000000092922480800000000000000000000000000000000000100
  3267. 1400002800000009092F22480800000000000000000000000000000000000100
  3268. 14000028000003FCF92822480800000000000000000000000000000000000100
  3269. 1400002800000002492922480800000000000000000000000000000000000100
  3270. 17FFFFE8000003FCF8E612380800000000000000000000000000000000000100
  3271. 1000000800000009082000000800000000000000000000000000000000000100
  3272. 17FFFFE80000044008C000000800000000000000000000000000000000000100
  3273. 1400002800000100080000000800000000000000000000000000000000000100
  3274. 140073A800000280080000000800000000000000000000000000000000000100
  3275. 140052A8000006C0080000000800000000000000000000000000000000000100
  3276. 15FFFFA8000002800FFFFFFFF800000000000000000000000000000000000100
  3277. 1400002800000280000005000000000000000000000000000000000000000100
  3278. 15FFFFA800000280000005000000000000000000000000000000000000000100
  3279. 151818A800000280000005000000000000000000000000000000000000000100
  3280. 152424A800000280000005000000000000000000000000000000000000000100
  3281. 154242A800000280000005000000000000000000000000000000000000000100
  3282. 158181A80000038000000D800000000000000000000000000000000000000100
  3283. 158181A800000280000005000000000000000000000000000000000000000100
  3284. 158181A800000440000002000000000000000000000000000000000000000100
  3285. 154242A800000100000008800000000000000000000000000000000000000100
  3286. 152424A800000280000005000000000000000000000000000000000000000100
  3287. 151818A8000006C0000007000000000000000000000000000000000000000100
  3288. 15FFFFA800000280000005000000000000000000000000000000000000000100
  3289. 1400002800000280000005000000000000000000000000000000000000000100
  3290. 1400062800000280003FFFFFFC000007FFFFFFFF800000000000000000000100
  3291. 1400002800000280004000000400000800000020800000000000000000000100
  3292. 1400002800000280008000000400001000000020800000000000000000000100
  3293. 17FFFFE800000280010000000400002000000020800000000000000000000100
  3294. 1000000800000380020000000400002000000020800000000000000000000100
  3295. 17FFFFE800000280040380000400002000000020800000000000000000000100
  3296. 1400002800000440040440000400002000000020800000000000000000000100
  3297. 140000280000010004640E3004000028000001AE800000000000000000000100
  3298. 1400002800000280049409480602402800000268C02412000000000000000100
  3299. 141FF028000006C00464C93805FF3FEE338CB06CBFF3F9000000000000000100
  3300. 14600C280000028004144948050090294A52C0A890090C000000000000000100
  3301. 14818228000002800494494805FF3FE94A528128BFF3F9000000000000000100
  3302. 148202280000028004638E38060240294A528020C0240A000000000000000100
  3303. 14830228000002800400080004000029324C812080000A000000000000000100
  3304. 148082280000028004000800040000200000002080000A000000000000000100
  3305. 148082280000028004000000040000200000002080000A000000000000000100
  3306. 1483022800000380040000000400003FFFFFFFE080000A000000000000000100
  3307. 144004280000028004000000040000200000001080000A000000000000000100
  3308. 142008280000044007FFFFFFFC000020007C000880001B000000000000000100
  3309. 141FF0280000010000000000000000200010000480000A000000000000000100
  3310. 1400002800000280000000000000002000100002800004000000000000000100
  3311. 14010028000006C0000000000000002000100001800011000000000000000100
  3312. 1401002800000280000000000000003FFFFFFFFF80000A000000000000000100
  3313. 140380280000028000000000000000000018000000000E000000000000000100
  3314. T 251 63 180 426 32 251 63 T 0 db
  3315. 1400002800000280000000000000002000100002800004000000000000000100
  3316. 14010028000006C0000000000000002000100001800011000000000000000100
  3317. 1401002800000280000000000000003FFFFFFFFF80000A000000000000000100
  3318. 140380280000028000000000000000000018000000000E000000000000000100
  3319. 140100280000028000000000000000000008000000000A000000000000000100
  3320. 14000028000002800000000000000000000C000000000A000000000000000100
  3321. 17FFFFE80000028000000000000000000008000000000A000000000000000100
  3322. 10000008000002800000000000000000000A000000000A000000000000000100
  3323. 17FFFFE8000003800000000000000000000A000000000A000000000000000100
  3324. 17FFFFE8000002800000000000000000000A000000000A000000000000000100
  3325. 17FFFFE8000004400000000000000000000A000000001B000000000000000100
  3326. 17FFFFE80000010000000000000000000008000000000A000000000000000100
  3327. 17FFFFE8000002800000000000000000000E0000000004000000000000000100
  3328. 17C000E8000006C00000000000000000000E0000000011000000000000000100
  3329. 179FFEE80000028000000000000000000004000000000A000000000000000100
  3330. 173FFEE80000028000000000000000000002000000000E000000000000000100
  3331. 167FFEE8000002800000000000000000000E000000000A000000000000000100
  3332. 16FFFEE8000002800000000000000000000C000000000A000000000000000100
  3333. 16FFFEE8000002800000000000000000000E000000000A000000000000000100
  3334. 16FFFEE80000028000000000000000007FFFFFF800000A000000000000000100
  3335. 16FFFEE80000038000000000000000008000000800000A000000000000000100
  3336. 16FFFEE80000028000000000000000010000000800000A000000000000000100
  3337. 16FFFEE80000044000000000000000020000000800001B000000000000000100
  3338. 16FFFEE80000010000000000000000040000000800000A000000000000000100
  3339. 16FFFEE800000280000000000000000800000008000004000000000000000100
  3340. 16FFFEE8000006C0000000000000000800000008000011000000000000000100
  3341. 160000E80000028000000000000000080214400800000A000000000000000100
  3342. 17FFFFE80000028000000000000000080214400812000E000000000000000100
  3343. 17FFFFE80000028000000000000000098E745CBFF9200A000000000000000100
  3344. 17FFFFE80000028000000000000000085297D2C804A00A000000000000000100
  3345. 10000008000002800000000000000009D294528FF9200A000000000000000100
  3346. 17FFFFE800000280000000000000000A5294528812200A000000000000000100
  3347. 14000028000003800000000000000009CE74528801B00A000000000000000100
  3348. 15FFFFA80000028000000000000000080000000800A00A000000000000000100
  3349. 150010A80000044000000000000000080000000800401B000000000000000100
  3350. 150010A80000010000000000000000080000000801100A000000000000000100
  3351. 150010A80000028000000000000000080000000800A004000000000000000100
  3352. 150017A8000006C0000000000000000FFFFFFFF800E011000000000000000100
  3353. 150014A80000028000000000000000000000000000A00A000000000000000100
  3354. 150016A80000028000000000000000000000000000A00E000000000000000100
  3355. 150014A80000028000000000000000000000000000A00A000000000000000100
  3356. 150014A80000028000000000000000000000000000A00A000000000000000100
  3357. 150010A80000028000000000000000000000000000A00A000000000000000100
  3358. 150010A80000038000000000000000000000000000A00A000000000000000100
  3359. 150010A80000028000000000000000000000000001B00A000000000000000100
  3360. 15FFF0A80000044000000000000000000000000000A00A000000000000000100
  3361. 150008A80000010000000000000000000000000000401B000000000000000100
  3362. 151F04A80000028000000000000000000000000001100A000000000000000100
  3363. 150402A8000006C000000000000000000000000000A004000000000000000100
  3364. 150401A80000028000000000000000000000000000E011000000000000000100
  3365. 15FFFFA8000002800000000000000000000000001FFFFFE00000000000000100
  3366. 1400002800000280000000000000000000000000100080200000000000000100
  3367. 17FFFFE800000280000000000000000000000000100080200000000000000100
  3368. 1000000800000280000000000000000000000000100080200000000000000100
  3369. 17FFFFE800000280000000000000000000000000100080200000000000000100
  3370. 1400002800000380000000000000000000000000100089200000000000000100
  3371. 140000280000028000000000000000000000000010008D200000000000000100
  3372. 14FFFF280000044000000000000000000000000010008B200000000000000100
  3373. 1480012800000100000000000000000000000000100089200000000000000100
  3374. 1480012800000280000000000000000000000000100089200000000000000100
  3375. 14800128000006C0000000000000000000000000100080200000000000000100
  3376. 14FFFF2800000280000000000000000000000000100080200000000000000100
  3377. 1480012800000280000000000000000000000000100080200000000000000100
  3378. 1480012800000280000000000000000000000000100080200000000000000100
  3379. 14A20128000002800000000000000000000000001FFFC0200000000000000100
  3380. 14B6C12800000280000000000000000000000000100020200000000000000100
  3381. 14AA9D2800000280000000000000000000000000100010200000000000000100
  3382. T 251 64 180 489 32 251 64 T 0 db
  3383. 1480012800000280000000000000000000000000100080200000000000000100
  3384. 14A20128000002800000000000000000000000001FFFC0200000000000000100
  3385. 14B6C12800000280000000000000000000000000100020200000000000000100
  3386. 14AA9D2800000280000000000000000000000000100010200000000000000100
  3387. 14AAD52800000380000000000000000000000000102208200000000000000100
  3388. 14A25D2800000280000000000000000000000000101404200000000000000100
  3389. 14A2C52800000440000000000000000000000000100802200000000000000100
  3390. 1480192800000100000000000000000000000000100801200000000000000100
  3391. 14FFFF2800000280000000000000000000000000100800A00000000000000100
  3392. 14000028000006C00000000000000000000000001FFFFFE00000000000000100
  3393. 1400002800000280000000000000000000000000000A00000000000000000100
  3394. 1400002800000280000000000000000000000000000A00000000000000000100
  3395. 17FFFFE800000280000000000000000000000000000A00000000000000000100
  3396. 1000000800000280000000000000000000000000000A00000000000000000100
  3397. 17FFFFE800000280000000000000000000000000000A00000000000000000100
  3398. 1400002800000280000000000000000000000000000A00000000000000000100
  3399. 1400002800000240240240240240240240240240241B00000000000000000100
  3400. 14FFFF28000000FFCFFCFFCFFCFFCFFCFF4FFCFFCFEA00000000000000000100
  3401. 1480012800000100900900900900900900100900900400000000000000000100
  3402. 14800128000000FFCFFCFFCFFCFFCFFCFF4FFCFFCFF100000000000000000100
  3403. 1480012800000240240240240240240240240240240A00000000000000000100
  3404. 14FFFF2800000000000000000000000000000000000000000000000000000100
  3405. 1481012800000000000000000000000000000000000000000000000000000100
  3406. 1481012800000000000000000000000000000000000000000000000000000100
  3407. 14A9252800000000000000000000000000000000000000000000000000000100
  3408. 14A9252800000000000000000000000000000000000000000000000000000100
  3409. 1491352800000000000000000000000000000000000000000000000000000100
  3410. 14912D2800000000000000000000000000000000000000000000000000000100
  3411. 1491252800000000000000000000000000000000000000000000000000000100
  3412. 1491252800000000000000000000000000000000000000000000000000000100
  3413. 1481012800000000000000000000000000000000000000000000000000000100
  3414. 1481012800000000000000000000000000000000000000000000000000000100
  3415. 14FFFF2800000000000000000000000000000000000000000000000000000100
  3416. 1400002800000000000000000000000000000000000000000000000000000100
  3417. 1400002800000000000000000000000000000000000000000000000000000100
  3418. 17FFFFE800000000000000000000000000000000000000000000000000000100
  3419. 1000000800000000000000000000000000000000000000000000000000000100
  3420. 17FFFFE800000000000000000000000000000000000000000000000000000100
  3421. 1400002800000000000000000000000000000000000000000000000000000100
  3422. 1400002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
  3423. 15FFFF2800000000000000000000000000000000000000000000000000000000
  3424. 15FFFF2800000000000000000000000000000000000000000000000000000000
  3425. 15FFFF2800000000000000000000000000000000000000000000000000000000
  3426. 1500012800000000000000000000000000000000000000000000000000000000
  3427. 1500012800000000000000000000000000000000000000000000000000000000
  3428. 1500012800000000000000000000000000000000000000000000000000000000
  3429. 15FFFF2800000000000000000000000000000000000000000000000000000000
  3430. 1500012800000000000000000000000000000000000000000000000000000000
  3431. 1500012800000000000000000000000000000000000000000000000000000000
  3432. 1500012800000000000000000000000000000000000000000000000000000000
  3433. 15FFFF2800000000000000000000000000000000000000000000000000000000
  3434. 1500012800000000000000000000000000000000000000000000000000000000
  3435. 1500012800000000000000000000000000000000000000000000000000000000
  3436. 1500012800000000000000000000000000000000000000000000000000000000
  3437. 15FFFF2800000000000000000000000000000000000000000000000000000000
  3438. 1400002800000000000000000000000000000000000000000000000000000000
  3439. 1400002800000000000000000000000000000000000000000000000000000000
  3440. 1400002800000000000000000000000000000000000000000000000000000000
  3441. 17FFFFE800000000000000000000000000000000000000000000000000000000
  3442. 1000000800000000000000000000000000000000000000000000000000000000
  3443. 1FFFFFF800000000000000000000000000000000000000000000000000000000
  3444. 0000000000000000000000000000000000000000000000000000000000000000
  3445. 0000000000000000000000000000000000000000000000000000000000000000
  3446. 0000000000000000000000000000000000000000000000000000000000000000
  3447. 0000000000000000000000000000000000000000000000000000000000000000
  3448. 0000000000000000000000000000000000000000000000000000000000000000
  3449. 0000000000000000000000000000000000000000000000000000000000000000
  3450. 0000000000000000000000000000000000000000000000000000000000000000
  3451. 584 223 gm
  3452. (nc 32 30 762 582 6 rc)kp
  3453. bu fc
  3454. 2 F /|______Times-Roman fnt
  3455. bn
  3456. -0.03057 0.(Figure 2.6  The Control Flow Tool)ashow
  3457. 620 81 gm
  3458. 0.70663 0. 32 0.07066 0.(The Programming By Example Tool is used to create procedures from primitive functions,)awidthshow
  3459. 644 81 gm
  3460. 0.49087 0. 32 0.04908 0.(procedures, and data objects.  Like the Function Definition Tool, objects are represented by)awidthshow
  3461. 668 81 gm
  3462. -0.00123 0.(boxes and are connected by links to specify the data flow.  The difference here is that the user)ashow
  3463. 692 81 gm
  3464. -0.08734 0.(can specify any number of independent flow diagrams.  The user can also specify the order that)ashow
  3465. F T cp
  3466. %%Page: ? 17
  3467. op
  3468. 32 30 xl
  3469. 1 1 pen
  3470. 735 300 gm
  3471. (nc 32 30 762 582 6 rc)kp
  3472. 1 setTxMode
  3473. 0 fs
  3474. 12 fz
  3475. bu fc
  3476. 2 F /|______Times-Roman fnt
  3477. bn
  3478. (13)show
  3479. 93 81 gm
  3480. 1.17126 0. 32 0.11712 0.(the diagrams are executed, repeat the execution of a diagram, or apply the results of one)awidthshow
  3481. 117 81 gm
  3482. 1.41159 0. 32 0.14115 0.(diagram to another.  The Programming By Example Tool has access to all data objects,)awidthshow
  3483. 141 81 gm
  3484. 0.34957 0. 32 0.03495 0.(functions, and procedures in the system, and it is considered to be the main user interface of)awidthshow
  3485. 165 81 gm
  3486. -0.06356 0.(the system.  Figure 2.7 contains a picture of the Programming By Example Tool.)ashow
  3487. 0 0 gm
  3488. (nc 216 160 415 451 6 rc)kp
  3489. T 291 51 160 216 38 291 51 T 0 db
  3490. 0000000000000000000000000000000000000000000000000000000000000000000000000000
  3491. 0000000000000000000000000000000000000000000000000000000000000000000000000000
  3492. 0000000000000000000000000000000000000000000000000000000000000000000000000000
  3493. 0000000000000000000000000000000000000000000000000000000000000000000000000000
  3494. 0000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE000000000000000000000000000000000000
  3495. 0000001000000000000000000000000000000002000000000000000000000000000000000000
  3496. 0000001000000000000000000000000000000002000000000000000000000000000000000000
  3497. 0000001000000000000000000000000000000002000000000000000000000000000000000000
  3498. 00000011E0000000000010000780078000000C02000000000000000000000000000000000000
  3499. 0000001110000000000000000440040000000402000000000000000000000000000000000000
  3500. 0000001112CC72CC763B31C70449042263B1C462000000000000000000000000000000000000
  3501. 0000001113129312492491290789071492492492000000000000000000000000000000000000
  3502. 00000011E212920E4924912904490408724924F2000000000000000000000000000000000000
  3503. 0000001102129212492491290449040892492482000000000000000000000000000000000000
  3504. 0000001102129212492491290449041492492492000000000000000000000000000000000000
  3505. 00000011020C720E49249127078707A27249C462000000000000000000000000000000000000
  3506. 0000001000001000000000010001000000010002000000000000000000000000000000000000
  3507. 0000001000006000000000060006000000010002000000000000000000000000000000000000
  3508. 0000001000000000000000000000000000000002000000000000000000000000000000000000
  3509. 0000001000000000000000000000000000000002000000000000000000000000000000000000
  3510. 3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000
  3511. 2000001000000000000000000000000000000000000000000000000000000000000000020000
  3512. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000020000
  3513. 2800005000000000000000000000000000000000000000000000000000000000000000020000
  3514. 2BFFFF5000000000000000000000000000000000000000000000000000000000000000020000
  3515. 2A38015000000000000000000000000000000000000000000000000000000000000000020000
  3516. 2A11215000000000000000000000000000000000000000000000000000000000000000020000
  3517. 2A11A1500FFFFFFFF8FFFFFFFF80000000000000000000000000000000000000000000020000
  3518. 2A11615008040000088042400080000000000000000000000000000000000000000000020000
  3519. 2A39215009442200089442400080000000000000000000000000000000000000000000020000
  3520. 2BFFFF500BE4140008BE42400080000000000000000000000000000000000000000000020000
  3521. 2810405009440800089442400080000000000000000000000000000000000000000000020000
  3522. 281040500BE4140008BE41C00080000000000000000000000000000000000000000000020000
  3523. 2810405009442200089440400080000000000000000000000000000000000000000000020000
  3524. 2870705008040000088041800080000000000000000000000000000000000000000000020000
  3525. 284010500FFFFFFFF8FFFFFFFF80000000000000000000000000000000000000000000020000
  3526. 2820205008000000088000000080000000000000000000000000000000000000000000020000
  3527. 2810405008000000088000000080000000000000000000000000000000000000000000020000
  3528. 280880500847C00008821C000080000000000000000000000000000000000000000000020000
  3529. 2805005008440000088622000080000000000000000000000000000000000000000000020000
  3530. 2802005008478000088202000080000000000000000000000000000000000000000000020000
  3531. 2FFFFFD008404000088204000080000000000000000000000000000000000000000000020000
  3532. 2000001008404000088208000080000000000000000000000000000000000000000000020000
  3533. 2FFFFFD008444000088210000080000000000000000000000000000000000000000000020000
  3534. 280000500843800008823E000080000000000000000000000000000000000000000000020000
  3535. 2800005008000000088000000080000000000000000000000000000000000000000000020000
  3536. 2B1CEE500FFFFFFFF8FFFFFFFF80000000000000000000000000000000000000000000020000
  3537. 2A944A5000000000A02800000000000000000000000000000000000000000000000000020000
  3538. 2A9C4E5000000000401000000000000000000000000000000000000000000000000000020000
  3539. 2B144A5000000000401000000000000000000000000000000000000000000000000000020000
  3540. 2800005000000000401000000000000000000000000000000000000000000000000000020000
  3541. 2800005000000000401000000000000000000000000000000000000000000000000000020000
  3542. 2800005000000000401000000000000000000000000000000000000000000000000000020000
  3543. 2B8F9C5000000000401000000000000000000000000000000000000000000000000000020000
  3544. 2A42225000000000401000000000000000000000000000000000000000000000000000020000
  3545. T 291 50 160 267 38 291 50 T 0 db
  3546. 2800005000000000401000000000000000000000000000000000000000000000000000020000
  3547. 2800005000000000401000000000000000000000000000000000000000000000000000020000
  3548. 2B8F9C5000000000401000000000000000000000000000000000000000000000000000020000
  3549. 2A42225000000000401000000000000000000000000000000000000000000000000000020000
  3550. 2A22205000000000401000000000000000000000000000000000000000000000000000020000
  3551. 2A22205000000007FFFFFFFFFFFFFFFFFFFC0000000000000000000000000000000000020000
  3552. 2A22205000000004000040000400004000040000000000000000000000000000000000020000
  3553. 2A42225000000004000040000400004000040000000000000000000000000000000000020000
  3554. 2B8F9C5000000004000040000400004000040000000000000000000000000000000000020000
  3555. 2800005000000004000040000400004000040000000000000000000000000000000000020000
  3556. 2800005000000004000040000400004000040000000000000000000000000000000000020000
  3557. 2800005000000004000040000401004010040000000000000000000000000000000000020000
  3558. 2FFFFFD000000004000040000405404010040000000000000000000000000000000000020000
  3559. 2000001000000005111151011403804010040000000000000000000000000000000000020000
  3560. 2FFFFFD000000004A00A4A3CA40FE040FE040000000000000000000000000000000000020000
  3561. 280000500000000447C444004403804010040000000000000000000000000000000000020000
  3562. 2A4EEE5000000004A0044A004405404010040000000000000000000000000000000000020000
  3563. 2A50895000000005110451004401004010040000000000000000000000000000000000020000
  3564. 2A4CCE5000000004000040000400004000040000000000000000000000000000000000020000
  3565. 2A428A5000000004000040000400004000040000000000000000000000000000000000020000
  3566. 2BDCE95000000004000040000400004000040000000000000000000000000000000000020000
  3567. 280000500000000400004000040000400004007FFFFFFFFFF000000000000000000000020000
  3568. 299DC0500000000400004000040000400004007FFFFFFFFFF000000000000000000000020000
  3569. 2951005000000004000040000400004000040060000000003000000000000000000000020000
  3570. 2959805000000007FFFFFFFFFFFFFFFFFFFC0067000020003000000000000000000000020000
  3571. 2951005000000000005040000400200004000068800020003900900900000000000000020000
  3572. 299D005000000000002040000400200004000068B8CB77003480480480000000000000020000
  3573. 2800005000000000002040000400200004000068A52C2480327F27F270000000000000020000
  3574. 29C0005000000000002040000400200004000068A5E824803480480490000000000000020000
  3575. 2912005000000000002040000400200004000068A50824803900900910000000000000020000
  3576. 299A00500000000000204200840020000400006738C814803000000010000000000000020000
  3577. 2916005000000000002042448400200004000060200000003000000010000000000000020000
  3578. 2912805000000000002042288400880011000060200000003000000010000000000000020000
  3579. 280000500000000000884210840050000A00007FFFFFFFFFF000000010000000000000020000
  3580. 2FFFFFD00000000000504228840020000400007FFFFFFFFFF000000010000000000000020000
  3581. 2000001000000000002042448400880011000040000000001000000044000000000000020000
  3582. 2FFFFFD00000000000884200840050000A000044084000001000000028000000000000020000
  3583. 2800005000000000005040000400200004024044084000001000000010000000000000020000
  3584. 2A01EE500000000000204000040020000401204A39C000001000000044000000000000020000
  3585. 2FFFFFD000000000002040000400200007FC9FCA4A4000001000000028000000000000020000
  3586. 280000500000000000204000040020000001205F4A4000001000000010000000000000020000
  3587. 28000050000000000020400004002000000240514A4000001000000010000000000000020000
  3588. 2BFFFC500000000000204000040020000000005139C000001000000010000000000000020000
  3589. 2A60645000000000002040000400200000000040000000001000000010000000000000020000
  3590. 2A9094500000000000207FFFFC0088000000007FFFFFFFFFF000000010000000000000020000
  3591. 2B090C5000000000008800088000500000000040000000001000000010000000000000020000
  3592. 2A0604500000000000500005000020000000005040C800001000FFFFFFFFF800000000020000
  3593. 2A06045000000000002000020000880480480458C04800001000804001800800000000020000
  3594. 2B090C5000000000008800020000500240240255525C00001000944000800800000000020000
  3595. 2A909450000000000050000200003FF93F93F9D2524800001000BE4898A4C800000000020000
  3596. 2A60645000000000002000020000000240240250524800001000944504A52800000000020000
  3597. 2BFFFC5000000000002000020000000480480450524800001000BE451CA5E800000000020000
  3598. 28000050000000000020000200000000000000504E4400001000944224A50800000000020000
  3599. 280000500000000000200002000000000000004000000000100080421C9CE800000000020000
  3600. T 291 50 160 317 38 291 50 T 0 db
  3601. 2A60645000000000002000020000000240240250524800001000944504A52800000000020000
  3602. 2BFFFC5000000000002000020000000480480450524800001000BE451CA5E800000000020000
  3603. 28000050000000000020000200000000000000504E4400001000944224A50800000000020000
  3604. 280000500000000000200002000000000000004000000000100080421C9CE800000000020000
  3605. 2800305000000000002000088000000000000040000000001000FFFFFFFFF800000000020000
  3606. 280000500000000000200005000000000000007FFFFFFFFFF000800000000800000000020000
  3607. 2FFFFFD000000000002000020000000000000040000000001000800000000800000000020000
  3608. 200000100000000000880008800000000000004E020000001000873E00000800000000020000
  3609. 2FFFFFD000000000005000050000000000000051020000001000888200000800000000020000
  3610. 28000050000000000020000202402402402402504B8E00001000808400000800000000020000
  3611. 280000500000000000880002012012012012014E4A5000001000810400000800000000020000
  3612. 280000500000000000500003FC9FC9FC9FC9FCC14A4C00001000820800000800000000020000
  3613. 28000050000000000020000001201201201201514A4200001000840800000800000000020000
  3614. 29F800500000000000200000024024024024024E3B9C000010008F8800000800000000020000
  3615. 2900005000000000002000000000000000000040000000001000800000000800000000020000
  3616. 2900085000000000002000000000000000000040000000001000FFFFFFFFF800000000020000
  3617. 290088500000000000200000000000000000007FFFFFFFFFF000000000000000000000020000
  3618. 2900BE5000000000002000000000000000000040000000001000000000000000000000020000
  3619. 29C088500000000000200000000000000000005C200000001000000000000000000000020000
  3620. 2907885000000000008800000000000000000052000000001000000000000000000000020000
  3621. 2908885000000000005000000000000000000051688000001000000000000000000000020000
  3622. 2908885000000000002012012012012012012051250000001000000000000000000000020000
  3623. 2908885000000000003009009009009009009051250000001000000000000000000000020000
  3624. 2907085000000000000FE4FE4FE4FE4FE4FE4FD2220000001000000000000000000000020000
  3625. 280000500000000000100900900900900900905C220000001000000000000000000000020000
  3626. 2800005000000000000012012012012012012040000000001000000000000000000000020000
  3627. 2800005000000000000000000000000000000040000000001000000000000000000000020000
  3628. 280000500000000000000000000000000000007FFFFFFFFFF000000000000000000000020000
  3629. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000020000
  3630. 2000001000000000000000000000000000000000000000000000000000000000000000020000
  3631. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000020000
  3632. 2800005000000000000000000000000000000000000000000000000000000000000000020000
  3633. 280F905000000000000000000000000000000000000000000000000000000000000000020000
  3634. 2808BC5000000000000000000000000000000000000000000000000000000000000000020000
  3635. 280F945000000000000000000000000000000000000000000000000000000000000000020000
  3636. 2802045000000000000000000000000000000000000000000000000000000000000000020000
  3637. 2802045000000000000000000000000000000000000000000000000000000000000000020000
  3638. 280F845000000000000000000000000000000000000000000000000000000000000000020000
  3639. 280F845000000000000000000000000000000000000000000000000000000000000000020000
  3640. 2802045000000000000000000000000000000000000000000000000000000000000000020000
  3641. 2882045000000000000000000000000000000000000000000000000000000000000000020000
  3642. 29C5045000000000000000000000000000000000000000000000000000000000000000020000
  3643. 2888845000000000000000000000000000000000000000000000000000000000000000020000
  3644. 2888FC5000000000000000000000000000000000000000000000000000000000000000020000
  3645. 2885005000000000000000000000000000000000000000000000000000000000000000020000
  3646. 2882005000000000000000000000000000000000000000000000000000000000000000020000
  3647. 2882005000000000000000000000000000000000000000000000000000000000000000020000
  3648. 288F805000000000000000000000000000000000000000000000000000000000000000020000
  3649. 28F8805000000000000000000000000000000000000000000000000000000000000000020000
  3650. 280F805000000000000000000000000000000000000000000000000000000000000000020000
  3651. 2800005000000000000000000000000000000000000000000000000000000000000000020000
  3652. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000020000
  3653. 2000001000000000000000000000000000000000000000000000000000000000000000020000
  3654. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000020000
  3655. T 291 50 160 367 38 291 50 T 0 db
  3656. 2800005000000000000000000000000000000000000000000000000000000000000000020000
  3657. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000020000
  3658. 2000001000000000000000000000000000000000000000000000000000000000000000020000
  3659. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000020000
  3660. 2800005000000000000000000000000000000000000000000000000000000000000000020000
  3661. 2800005000000000000000000000000000000000000000000000000000000000000000020000
  3662. 2800005000000000000000000000000000000000000000000000000000000000000000020000
  3663. 283E005000000000000000000000000000000000000000000000000000000000000000020000
  3664. 287F005000000000000000000000000000000000000000000000000000000000000000020000
  3665. 28E3805000000000000000000000000000000000000000000000000000000000000000020000
  3666. 28C1805000000000000000000000000000000000000000000000000000000000000000020000
  3667. 28C1805FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000
  3668. 28C18C5000000000000000000000000000000000000000000000000000000000000000000000
  3669. 28C1905000000000000000000000000000000000000000000000000000000000000000000000
  3670. 28C5885000000000000000000000000000000000000000000000000000000000000000000000
  3671. 28E7845000000000000000000000000000000000000000000000000000000000000000000000
  3672. 287F185000000000000000000000000000000000000000000000000000000000000000000000
  3673. 283F805000000000000000000000000000000000000000000000000000000000000000000000
  3674. 2800C05000000000000000000000000000000000000000000000000000000000000000000000
  3675. 2800005000000000000000000000000000000000000000000000000000000000000000000000
  3676. 2800005000000000000000000000000000000000000000000000000000000000000000000000
  3677. 2800005000000000000000000000000000000000000000000000000000000000000000000000
  3678. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3679. 2000001000000000000000000000000000000000000000000000000000000000000000000000
  3680. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3681. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3682. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3683. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3684. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3685. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3686. 2C7FAFD000000000000000000000000000000000000000000000000000000000000000000000
  3687. 2D7FAFD000000000000000000000000000000000000000000000000000000000000000000000
  3688. 2D7FAFD000000000000000000000000000000000000000000000000000000000000000000000
  3689. 2C7FAFD000000000000000000000000000000000000000000000000000000000000000000000
  3690. 2D88A8D000000000000000000000000000000000000000000000000000000000000000000000
  3691. 2DAAAAD000000000000000000000000000000000000000000000000000000000000000000000
  3692. 2D8888D000000000000000000000000000000000000000000000000000000000000000000000
  3693. 2FFBFBD000000000000000000000000000000000000000000000000000000000000000000000
  3694. 2FFBFBD000000000000000000000000000000000000000000000000000000000000000000000
  3695. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3696. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3697. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3698. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3699. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3700. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3701. 2FFFFFD000000000000000000000000000000000000000000000000000000000000000000000
  3702. 2000001000000000000000000000000000000000000000000000000000000000000000000000
  3703. 3FFFFFF000000000000000000000000000000000000000000000000000000000000000000000
  3704. 0000000000000000000000000000000000000000000000000000000000000000000000000000
  3705. 0000000000000000000000000000000000000000000000000000000000000000000000000000
  3706. 0000000000000000000000000000000000000000000000000000000000000000000000000000
  3707. 0000000000000000000000000000000000000000000000000000000000000000000000000000
  3708. 0000000000000000000000000000000000000000000000000000000000000000000000000000
  3709. 0000000000000000000000000000000000000000000000000000000000000000000000000000
  3710. 448 192 gm
  3711. (nc 32 30 762 582 6 rc)kp
  3712. bu fc
  3713. 2 F /|______Times-Roman fnt
  3714. bn
  3715. -0.07823 0.(Figure 2.7  The Programming By Example Tool)ashow
  3716. 484 81 gm
  3717. 0.23468 0. 32 0.02346 0.(The tools share all information in the system, so an object defined in a tool is available to all)awidthshow
  3718. 508 81 gm
  3719. -0.07243 0.(other tools.  The tools can be used independently or the tools can be used simultaneously.  This)ashow
  3720. 532 81 gm
  3721. -0.03683 0.(allows the user to learn the system tool by tool.  Several of the tool have debugging capability.)ashow
  3722. 556 81 gm
  3723. 0.24383 0. 32 0.02438 0.(To allow for flexibility, new tools can also be created and incorporated into the system.  The)awidthshow
  3724. 580 81 gm
  3725. 0.24261 0. 32 0.02426 0.(functions and procedures in these tools can be collapsed down to a single icon and expanded)awidthshow
  3726. 604 81 gm
  3727. 0.15792 0. 32 0.01579 0.(when necessary.)awidthshow
  3728. F T cp
  3729. %%Page: ? 18
  3730. op
  3731. 32 30 xl
  3732. 1 1 pen
  3733. 735 300 gm
  3734. (nc 32 30 762 582 6 rc)kp
  3735. 1 setTxMode
  3736. 0 fs
  3737. 12 fz
  3738. bu fc
  3739. 2 F /|______Times-Roman fnt
  3740. bn
  3741. (14)show
  3742. 105 81 gm
  3743. 1 fs
  3744. bu fc
  3745. 2 F /|______Times-Bold fnt
  3746. bn
  3747. 1.79997 0.(2.3.4.)ashow
  3748. 105 153 gm
  3749. 1.32746 0.(Sh++)ashow
  3750. 141 81 gm
  3751. 0 fs
  3752. bu fc
  3753. 2 F /|______Times-Roman fnt
  3754. bn
  3755. 0.11184 0. 32 0.01118 0.(Sh++ is a visual shell created by Mike Sennett that provides a direct manipulation interaction)awidthshow
  3756. 165 81 gm
  3757. 0.16754 0. 32 0.01675 0.(with the Unix operating system [Senn90].  Boxes represent the programs that are created and)awidthshow
  3758. 189 81 gm
  3759. -0.07379 0.(executed.  The parameters for a program are set using a dialog box.  Output from programs can)ashow
  3760. 213 81 gm
  3761. 0.46203 0. 32 0.04620 0.(be piped to other programs by using links to connect ports that represent standard input and)awidthshow
  3762. 237 81 gm
  3763. 0.01770 0. 32 0.00177 0.(standard output.  A pipeline can be built by linking a series of program boxes together.  Links)awidthshow
  3764. 261 81 gm
  3765. -0.07402 0.(are also used to redirect the input and output of a program to files and console windows.)ashow
  3766. 297 81 gm
  3767. 1.29531 0. 32 0.12953 0.(There are two tools available in Sh++.  Unlike other FOIBLE applications, the tools are)awidthshow
  3768. 321 81 gm
  3769. 1.41952 0. 32 0.14195 0.(selected by menus rather than a palette.  The Editor Tool is used to add objects to, and)awidthshow
  3770. 345 81 gm
  3771. 0.15640 0. 32 0.01564 0.(manipulate objects in, the canvas.  An object is selected by clicking on it.  The yellow button)awidthshow
  3772. 369 81 gm
  3773. 0.39001 0. 32 0.03900 0.(menus are context-sensitive, displaying commands that are applicable to the selected object.)awidthshow
  3774. 393 81 gm
  3775. 1.10382 0. 32 0.11038 0.(For example, when a program box is selected, options to set the program parameters and)awidthshow
  3776. 417 81 gm
  3777. 1.83868 0. 32 0.18386 0.(execute the program are available.  All objects in the system respond to the "explain")awidthshow
  3778. 441 81 gm
  3779. -0.04574 0.(command.)ashow
  3780. 477 81 gm
  3781. 1.03988 0. 32 0.10398 0.(The Layout Tool allows a user to open, save, or rename a Sh++ canvas.  It also provides)awidthshow
  3782. 501 81 gm
  3783. 0.78292 0. 32 0.07829 0.(access to two browsers: the Program Directory and the Environment Editor.  The Program)awidthshow
  3784. 525 81 gm
  3785. 1.57073 0. 32 0.15707 0.(Directory contains a list of the programs that are available in Sh++.  It allows users to)awidthshow
  3786. 549 81 gm
  3787. -0.07482 0.(customize the environment by chosing names for the programs and their parameters.  A picture)ashow
  3788. 573 81 gm
  3789. 0.11947 0. 32 0.01194 0.(of Sh++ and a Sh++ console window are shown in Figure 2.8.)awidthshow
  3790. 609 81 gm
  3791. 1.04019 0. 32 0.10401 0.(In its current form, Sh++ can perform many of the functions provided in traditional Unix)awidthshow
  3792. 633 81 gm
  3793. 1.38458 0. 32 0.13845 0.(shells.  With further enhancements, Sh++ could serve as the basis for a complete visual)awidthshow
  3794. 657 81 gm
  3795. -0.04583 0.(scripting language for Unix scripts.)ashow
  3796. F T cp
  3797. %%Page: ? 19
  3798. op
  3799. 32 30 xl
  3800. 1 1 pen
  3801. 735 300 gm
  3802. (nc 32 30 762 582 6 rc)kp
  3803. 1 setTxMode
  3804. 0 fs
  3805. 12 fz
  3806. bu fc
  3807. 2 F /|______Times-Roman fnt
  3808. bn
  3809. (15)show
  3810. 0 0 gm
  3811. (nc 72 86 433 525 6 rc)kp
  3812. T 439 47 86 72 56 439 47 T 0 db
  3813. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3814. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3815. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3816. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3817. 000000000001FFFFFFFFFE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3818. 0000000000010000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3819. 0000000000010000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3820. 0000000000010000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3821. 0000000000010000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3822. 00000000000103C4000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3823. 0000000000010424000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3824. 0000000000010405820402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3825. 0000000000010406420402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3826. 00000000000103C44F9F02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3827. 0000000000010024420402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3828. 0000000000010024420402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3829. 0000000000010424400002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3830. 00000000000103C4400002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3831. 0000000000010000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3832. 0000000000010000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3833. 0000000000010000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3834. 0000000000010000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  3835. 000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000
  3836. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3837. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3838. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3839. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3840. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3841. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3842. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3843. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3844. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3845. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3846. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3847. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3848. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3849. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3850. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3851. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3852. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  3853. 0000000000010000000000000000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFC0000010000000000000
  3854. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3855. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3856. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3857. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3858. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3859. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3860. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3861. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3862. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3863. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3864. T 439 45 86 119 56 439 45 T 0 db
  3865. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3866. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3867. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3868. 0000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000040000010000000000000
  3869. 00000000000100000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFC00004000000000000000000040000010000000000000
  3870. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000000000000000400004000000000000000000040000010000000000000
  3871. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000000000000000400004000000000000000000040000010000000000000
  3872. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000000000000000400004000000000000000000040000010000000000000
  3873. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000000000000000400004000404000002088000040000010000000000000
  3874. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000000000000000400004000404000002080000040000010000000000000
  3875. 000000000001000000003FFFFFFFFFFFFFFF800000000008000000000000000000040000400399CC0C71C3B1D98040000010000000000000
  3876. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000000000000000400004004A492124A4111264040000010000000000000
  3877. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000000000000000400004009393C1C9482224B8040000010000000000000
  3878. 000000000001000000003FFFFFFFFFFFFFFF80000000000800000000000000000004000040094920249482224A0040000010000000000000
  3879. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000000000000000400004012924849290444950040000010000000000000
  3880. 000000000001000000003FFFFFFFFFFFFFFF800000000008000000000000000000040000400E713039270244920040000010000000000000
  3881. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000000000000000400004000000000000000000040000010000000000000
  3882. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000000000000000400004000000000000000000040000010000000000000
  3883. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000000020000000010400004000000000000000000040000010000000000000
  3884. 000000000001000000003FFFFFFFFFFFFFFF800000000008000004008020000C010400004000000000000000000040000010000000000000
  3885. 000000000001000000003FFFFFFFFFFFFFFF8000000000080000040080000004010400004000000000000000000040000010000000000000
  3886. 000000000001000000003FF9DFFFE5CFFFFF8000000000080C62DC020CC76388C10400004000000000000000000040000010000000000000
  3887. 000000000001000000003FFDFFF7D7CFFFFF8000000000081293080212449249210400004000000000000000000040000010000000000000
  3888. 000000000001000000003FF938C31998C7FF8000000000081924100418892493C20400007FF800000000000003FFC0000010000000000000
  3889. 000000000001000000003FFBB6EFBBB6B7FF8000000000080524100404892492020400007FF800000000000003FFC0000010000000000000
  3890. 000000000001000000003FF331CF33219FFF8000000000084A482004491249248804000070180000000000000301C0000010000000000000
  3891. 000000000001000000003FF77D9F776FEFFF8000000000083188100431124E230804000070180000000000000301C0000010000000000000
  3892. 000000000001000000003FE6493E664A4FFF80000000000800000004000010002004000070180000000000000301C0000010000000000000
  3893. 000000000001000000003FEEE39EEEE71FFF80000000000800000000000010000004000070180000000000000301C0000010000000000000
  3894. 000000000001000000003FFFFFFFFFFFFFFF80000000000800000000000000000004000070180000000000000301C0000010000000000000
  3895. 000000000001000000003FFFFFFFFFFFFFFF80000000000800000000000000000004000070180000000000000301C0000010000000000000
  3896. 000000000001000000003FFFFFFFFFFFFFFF80000000000800000000000000000004000070180000000000000301C0000010000000000000
  3897. 000000000001000000002007FFFFFFFFF8008000000000080000000000000000000400007FF800000000000003FFC0000010000000000000
  3898. 000000000001000000002007FFFFFFFFF80080000000000FFF000000000000001FFC00007FF800000000000003FFC0000010000000000000
  3899. 0000000000010000000027E7FFFFFFFFF9FCFFFFFFFFFFFFFF000000000000001FFC00007FFFFFFFFFFFFFFFFFFFC0000010000000000000
  3900. 0000000000010000000027E7FFFFFFFFF9FC80000000000E0300000000000000180C00000000000000000000000000000010000000000000
  3901. 0000000000010000000027E7FFFFFFFFF9FC88080808102E0300000000000000180C00000000000000000000000000000010000000000000
  3902. 0000000000010000000027E7FFFFFFFFF9FC84040404081E0300000000000000180C00000000000000000000000000000010000000000000
  3903. 0000000000010000000027E7FFFFFFFFF9FC88080808102E0300000000000000180C00000000000000000000000000000010000000000000
  3904. 0000000000010000000027E7FFFFFFFFF9FC80000000000E0300000000000000180C00000000000000000000000000000010000000000000
  3905. 0000000000010000000027E7FFFFFFFFF9FCFFFFFFFFFFFE0300000000000000180C00000000000000000000000000000010000000000000
  3906. 000000000001000000002007FFFFFFFFF80080000000000E0300000000000000180C00000000000000000000000000000010000000000000
  3907. 000000000001000000002007FFFFFFFFF80080000000000FFF000000000000001FFC00000000000000000000000000000010000000000000
  3908. 000000000001000000003FFFFFFFFFFFFFFF80000000000FFF000000000000001FFC00000000000000000000000000000010000000000000
  3909. 00000000000100000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFC00000000000000000000000000000010000000000000
  3910. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3911. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3912. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3913. 000000000001000000000000000000000000000000000000000000000000000002A800000000000000000000000000000010000000000000
  3914. T 439 45 86 164 56 439 45 T 0 db
  3915. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3916. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3917. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3918. 000000000001000000000000000000000000000000000000000000000000000002A800000000000000000000000000000010000000000000
  3919. 0000000000010000000000000000000000000000000000000000000000000000024800000000000000000000000000000010000000000000
  3920. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3921. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3922. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3923. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3924. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3925. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3926. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3927. 000000000001000000000000000000000000000000000000000000000000000002A800000000000000000000000000000010000000000000
  3928. 0000000000010000000000000000000000000000000000000000000000000000024800000000000000000000000000000010000000000000
  3929. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3930. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3931. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3932. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3933. 0000000000010000000000000000000000000000000000000000000000000000020800000000000000000000000000000010000000000000
  3934. 00000000000100000000000000000000000000000000000000000000007FFFFFFE0800000000000000000000000000000010000000000000
  3935. 0000000000010000000000000000000000000000000000000000000000400000000800000000000000000000000000000010000000000000
  3936. 0000000000010000000000000000000000000000000000000000000000408080808800000000000000000000000000000010000000000000
  3937. 0000000000010000000000000000000000000000000000000000000000410101010800000000000000000000000000000010000000000000
  3938. 0000000000010000000000000000000000000000000000000000000000408080808800000000000000000000000000000010000000000000
  3939. 0000000000010000000000000000000000000000000000000000000000400000000800000000000000000000000000000010000000000000
  3940. 000000000001000000000000000000000000000000000000000000000041FFFFFFF800000000000000000000000000000010000000000000
  3941. 0000000000010000000000000000000000000000000000000000000000410000000000000000000000000000000000000010000000000000
  3942. 0000000000010000000000000000000000000000000000000000000000410000000000000000000000000000000000000010000000000000
  3943. 0000000000010000000000000000000000000000000000000000000000410000000000000000000000000000000000000010000000000000
  3944. 0000000000010000000000000000000000000000000000000000000000410000000000000000000000000000000000000010000000000000
  3945. 0000000000010000000000000000000000000000000000000000000000550000000000000000000000000000000000000010000000000000
  3946. 0000000000010000000000000000000000000000000000000000000000490000000000000000000000000000000000000010000000000000
  3947. 0000000000010000000000000000000000000000000000000000000000410000000000000000000000000000000000000010000000000000
  3948. 0000000000010000000000000000000000000000000000000000000000410000000000000000000000000000000000000010000000000000
  3949. 0000000000010000000000000000000000000000000000000000000000410000000000000000000000000000000000000010000000000000
  3950. 0000000000010000000000000000000000000000000000000000000000410000000000000000000000000000000000000010000000000000
  3951. 0000000000010000000000000000000000000000000000000000000000410000000000000000000000000000000000000010000000000000
  3952. 0000000000010000000000000000000000000000000000000000000000550000000000000000000000000000000000000010000000000000
  3953. 000000000001000001FFFFFFFFFFFFFFFFFFF000000000000000000000490000000000000000000000000000000000000010000000000000
  3954. 0000000000010000010000000000000000001000000000001FFFFFFFFFFFFFFFFFFFFFFFFFE0000000000000000000000010000000000000
  3955. 0000000000010000010000000000000000001000000000001000000001FFC000000000000020000000000000000000000010000000000000
  3956. 0000000000010000010000000000000000001000000000001000000001FFC000000000000020000000000000000000000010000000000000
  3957. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3958. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3959. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3960. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3961. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3962. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3963. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3964. T 439 45 86 209 56 439 45 T 0 db
  3965. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3966. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3967. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3968. 000000000001000001000000000000000000100000000000100000000180C000000000000020000000000000000000000010000000000000
  3969. 0000000000010000010000000000000000001000000000001000000001FFC000000000000020000000000000000000000010000000000000
  3970. 0000000000010000010000000000000000001000000000001000000001FFC000000000000020000000000000000000000010000000000000
  3971. 0000000000010000010000000000000000001000000000001000000000000000000000000020000000000000000000000010000000000000
  3972. 0000000000010000010000000000000000001000000000001000000000000000000000000020000000000000000000000010000000000000
  3973. 0000000000010000010000000000000000001000000000001000000000000000000000000020000000000000000000000010000000000000
  3974. 0000000000010000010188080000000000001000000000001000000000000000000000000020000000000000000000000010000000000000
  3975. 0000000000010000010080080000000000001000000000001000000000000000000000000020000000000000000000000010000000000000
  3976. 0000000000010000010131B838B318C6318C1000000000001000000000000000000000000020000000000000000000000010000000000000
  3977. 00000000000100000101129024C4A5294A521000000000001000000000000000000000000020000000000000000000000010000000000000
  3978. 000000000001000001022320490943CC67981000000000001000000000000000000000000020000000000000000000000010000000000000
  3979. 0000000000010000010220A04909420214041000000000001000000000000000000000000020000000000000000000000010000000000000
  3980. 000000000001000001044940921294A529481000000000001000000000000000000000000020000000000000000000000010000000000000
  3981. 000000000001000001044620E20C6318C6301000000000001000000000000000000000000020000000000000000000000010000000000000
  3982. 00000000000100000100000100000000000010000000000010012000C000000C000620000020000000000000000000000010000000000000
  3983. 0000000000010000010000010000000000001000000000001001000040000010000200000020000000000000000000000010000000000000
  3984. 000000000001000001000000000000000000100000000000100EC6388C4830732084C718C020000000000000000000000010000000000000
  3985. 0000000000010000010000000000000000001000000000001012492492484824A08444A52020000000000000000000000010000000000000
  3986. 00000000000100000100000000000000000010000000000010248C491C90704F2A0889798020000000000000000000000010000000000000
  3987. 00000000000100000100000000000000000010000000000010248249249090482A0889404020000000000000000000000010000000000000
  3988. 0000000000010000010000000000000000001000000000001049249249212092280912948020000000000000000000000010000000000000
  3989. 000000000001000001000000000000000000100000000000103918E238E0E08C280912630020000000000000000000000010000000000000
  3990. 000000000001000001FFE0000000000000FFF000000000001000010000400000000000000020000000000000000000000010000000000000
  3991. 000000000001000001FFE0000000000000FFF000000000001000010001800000000000000020000000000000000000000010000000000000
  3992. 000000000001000001C060000000000000C07000000000001000000000000000000000000020000000000000000000000010000000000000
  3993. 000000000001000001C060000000000000C07000000000001000000000000000000000000020000000000000000000000010000000000000
  3994. 000000000001000001C060000000000000C07000000000001000000000000000000000000020000000000000000000000010000000000000
  3995. 000000000001000001C060000000000000C07000000000001000000000000000000000000020000000000000000000000010000000000000
  3996. 000000000001000001C060000000000000C07000000000001000000000000000000000000020000000000000000000000010000000000000
  3997. 000000000001000001C060000000000000C07000000000001000000000000000000000000020000000000000000000000010000000000000
  3998. 000000000001000001C060000000000000C07000000000001000000000000000000000000020000000000000000000000010000000000000
  3999. 000000000001000001C060000000000000C07000000000001000000000000000000000000020000000000000000000000010000000000000
  4000. 000000000001000001FFE0000000000000FFF000000000001000000000000000000000000020000000000000000000000010000000000000
  4001. 000000000001000001FFE0000000000000FFF00000000000100000000000000000000000FFE0000000000000000000000010000000000000
  4002. 000000000001000001FFFFFFFFFFFFFFFFFFF00000000000100000000000000000000000FFE0000000000000000000000010000000000000
  4003. 000000000001000000000000000000000000000000000000100000000000000000000000C060000000000000000000000010000000000000
  4004. 000000000001000000000000000000000000000000000000100000000000000000000000C060000000000000000000000010000000000000
  4005. 000000000001000000000000000000000000000000000000100000000000000000000000C060000000000000000000000010000000000000
  4006. 000000000001000000000000000000000000000000000000100000000000000000000000C060000000000000000000000010000000000000
  4007. 000000000001000000000000000000000000000000000000100000000000000000000000C060000000000000000000000010000000000000
  4008. 000000000001000000000000000000000000000000000000100000000000000000000000C060000000000000000000000010000000000000
  4009. 000000000001000000000000000000000000000000000000100000000000000000000000C060000000000000000000000010000000000000
  4010. 000000000001000000000000000000000000000000000000100000000000000000000000FFE0000000000000000000000010000000000000
  4011. 000000000001000000000000000000000000000000000000100000000000000000000000FFE0000000000000000000000010000000000000
  4012. 0000000000010000000000000000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFE0000000000000000000000010000000000000
  4013. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  4014. T 439 45 86 254 56 439 45 T 0 db
  4015. 000000000001000000000000000000000000000000000000100000000000000000000000FFE0000000000000000000000010000000000000
  4016. 000000000001000000000000000000000000000000000000100000000000000000000000FFE0000000000000000000000010000000000000
  4017. 0000000000010000000000000000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFE0000000000000000000000010000000000000
  4018. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  4019. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  4020. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  4021. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  4022. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  4023. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  4024. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  4025. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  4026. 0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
  4027. 000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000
  4028. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4029. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4030. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4031. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4032. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4033. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4034. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4035. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4036. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4037. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4038. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4039. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4040. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4041. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4042. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4043. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4044. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4045. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4046. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4047. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4048. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4049. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4050. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4051. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4052. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4053. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4054. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4055. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4056. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4057. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4058. 1FFFFFFFFFFFFFFFFFFFFFFFFE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4059. 1000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4060. 1000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4061. 1000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4062. 1001E2000000F000000018000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4063. 1002120000010800000008000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4064. T 439 45 86 299 56 439 45 T 0 db
  4065. 1000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4066. 1000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4067. 1001E2000000F000000018000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4068. 1002120000010800000008000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4069. 100202C1020100E2C38708700200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4070. 1002032102010113244888880200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4071. 1001E227CF810112240888880200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4072. 1000122102010112238888F80200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4073. 1000122102010112204888800200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4074. 1002122000010912244888880200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4075. 1001E2200000F0E2238708700200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4076. 1000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4077. 1000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4078. 1000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4079. 1000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4080. 1000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4081. 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000
  4082. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4083. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4084. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4085. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4086. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4087. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4088. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4089. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4090. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4091. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4092. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4093. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4094. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4095. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4096. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4097. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4098. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4099. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4100. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4101. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4102. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4103. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4104. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4105. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4106. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4107. 100047C238000000000000000000001000000011C7000000043841827C600008200000E380038E07CE0000008E3810000000000000001000
  4108. 1000C04644000000000000000000003000000032288000000C44C2064080000C600001144004510091000000914400000000000000001000
  4109. 1000408A440002D04000000000000010001D8E52288000000444440A7900000AA6580014400041111100001DD14437600000000000001000
  4110. 1000409238007B0A9EF7BDEF7800001000125092288000000438479205E0000921600023C00082038E0000208E4414900000000000001000
  4111. 1000411F4400020A800000000000001000124CFA288000000444445F05100008274000404001040051000018914414900000000000001000
  4112. 1000410244000205000000000000001000124212288000000444444245100008294000808002080451000004914414900000000000001000
  4113. 1000410238000205000000000000001000125C11C70000000438438238E00008274001F30007DF138E0000384E3894900000000000001000
  4114. T 439 45 86 344 56 439 45 T 0 db
  4115. 1000409238007B0A9EF7BDEF7800001000125092288000000438479205E0000921600023C00082038E0000208E4414900000000000001000
  4116. 1000411F4400020A800000000000001000124CFA288000000444445F05100008274000404001040051000018914414900000000000001000
  4117. 1000410244000205000000000000001000124212288000000444444245100008294000808002080451000004914414900000000000001000
  4118. 1000410238000205000000000000001000125C11C70000000438438238E00008274001F30007DF138E0000384E3894900000000000001000
  4119. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4120. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4121. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4122. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4123. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4124. 1000038E38000000000000000000001000000011C70000000038438419F0000100000007C0010E07C60000008E3801000000000000001000
  4125. 1000045144000000000000000000003000000032288000000044C44C20100001000000008003110408000000914401000000000000001000
  4126. 10000451440002D04000000000000010001D8E522880000000444044402000029CB00001000111179000001DD14419C671CC700000001000
  4127. 1000039144007B0A9EF7BDEF780000100012509228800000003840847820000292C0000380010E005E0000208E4425214A52800000001000
  4128. 100004514400020A800000000000001000124CFA288000000044410444400007D28000004001110051000018914421274A5E600000001000
  4129. 1000045144000205000000000000001000124212288000000044420444400004528000044001110451000004914425294A50100000001000
  4130. 1000038E38000205000000000000001000125C11C7000000003847C4384000045C80000380010E138E0000384E38992749CCE00000001000
  4131. 1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000040000000001000
  4132. 1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000180000000001000
  4133. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4134. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4135. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4136. 1000011F18000000000000000000001000000011C7000000001067C67C20000100000007C0010E008600001C800010000000000000001000
  4137. 1000030120000000000000000000003000000032288000000030840804600001000000008003110188000022810430000000000000001000
  4138. 10000102400002D04000000000000010001D8E52288000000011079008A000029CB000010001111290000020E1041038E000000000001000
  4139. 1000010278007B0A9EF7BDEF7800001000125092288000000011E05E0920000292C0000380010E049E00001C97DF10250000000000001000
  4140. 100001044400020A800000000000001000124CFA288000000011105111F00007D280000040011107D100000291041024C000000000001000
  4141. 1000010444000205000000000000001000124212288000000011145110200004528000044001110091000022910410242000000000001000
  4142. 1000010438000205000000000000001000125C11C70000000010E38E102000045C80000380010E108E00001C900010B9C000000000001000
  4143. 1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000200000000000001000
  4144. 1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000200000000000001000
  4145. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4146. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4147. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4148. 1000000E08000000000000000000001000000011C70000000000E7C27CE0000100000007C0010E07DF00001C80001A010000000000001000
  4149. 1000001118000000000000000000003000000032288000000001140641100001000000008003110410000022810420030000000000001000
  4150. 10000011280002D04000000000000010001D8E52288000000001178A791000029CB00001000111179E000020E1047671038E000000001000
  4151. 1000000E48007B0A9EF7BDEF7800001000125092288000000000E05204F0000292C0000380010E004100001C97DF22910250000000001000
  4152. 100000117C00020A800000000000001000124CFA288000000001105F04100007D2800000400111004100000291042291024C000000001000
  4153. 1000001108000205000000000000001000124212288000000001144244200004528000044001110451000022910422910242000000001000
  4154. 1000000E08000205000000000000001000125C11C70000000000E38238C000045C80000380010E138E00001C900022710B9C000000001000
  4155. 1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100200000000001000
  4156. 1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000600200000000001000
  4157. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4158. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4159. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4160. 1000001F38000000000000000000001000000011C70000000001F38E19F000010000000380038E07C200001C800038238E00200000001000
  4161. 1000000144000000000000000000003000000032288000000000145120200001000000044004510406000022810444645100200000001000
  4162. 10000002440002D04000000000000010001D8E522880000000002451404000029CB00000400451178A000020E10444A44107700000001000
  4163. 1000000238007B0A9EF7BDEF7800001000125092288000000000238F78E0000292C0000080044F005200001C97DF45244208200000001000
  4164. T 439 46 86 389 56 439 46 T 0 db
  4165. 1000001F38000000000000000000001000000011C70000000001F38E19F000010000000380038E07C200001C800038238E00200000001000
  4166. 1000000144000000000000000000003000000032288000000000145120200001000000044004510406000022810444645100200000001000
  4167. 10000002440002D04000000000000010001D8E522880000000002451404000029CB00000400451178A000020E10444A44107700000001000
  4168. 1000000238007B0A9EF7BDEF7800001000125092288000000000238F78E0000292C0000080044F005200001C97DF45244208200000001000
  4169. 100000044400020A800000000000001000124CFA288000000000444144100007D2800001000441005F000002910445F44406200000001000
  4170. 1000000444000205000000000000001000124212288000000000444245100004528000020004420442000022910444244801200000001000
  4171. 1000000438000205000000000000001000125C11C70000000000438C38E000045C800007C0038C138200001C900038239F2E100000001000
  4172. 1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000001000
  4173. 1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000001000
  4174. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4175. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4176. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4177. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4178. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4179. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4180. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4181. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4182. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4183. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4184. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4185. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4186. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4187. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4188. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4189. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4190. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4191. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4192. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4193. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4194. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4195. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4196. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4197. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4198. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4199. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4200. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4201. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4202. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4203. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4204. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4205. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4206. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4207. 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
  4208. 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000
  4209. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4210. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4211. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4212. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4213. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4214. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4215. 466 196 gm
  4216. (nc 32 30 762 582 6 rc)kp
  4217. bu fc
  4218. 2 F /|______Times-Roman fnt
  4219. bn
  4220. 0.01647 0. 32 0.00164 0.(Figure 2.8  Sh++ canvas and console window)awidthshow
  4221. 526 81 gm
  4222. 1 fs
  4223. bu fc
  4224. 2 F /|______Times-Bold fnt
  4225. bn
  4226. 1.79997 0.(2.3.5.)ashow
  4227. 526 153 gm
  4228. 0.44660 0.(DataVis)ashow
  4229. 562 81 gm
  4230. 0 fs
  4231. bu fc
  4232. 2 F /|______Times-Roman fnt
  4233. bn
  4234. 0.29739 0. 32 0.02973 0.(DataVis, which is currently being developed by Dan Hils, is a visual programming language)awidthshow
  4235. 586 81 gm
  4236. 0.21194 0. 32 0.02119 0.(based on dataflow.  DataVis is being developed for the visualization of scientific data, and is)awidthshow
  4237. 610 81 gm
  4238. -0.02000 0.(based on Show and Tell [Kimu86].)ashow
  4239. 646 81 gm
  4240. 0.64208 0. 32 0.06420 0.(The motivation behind DataVis is to allow scientists to convert complex data into pictures,)awidthshow
  4241. 670 81 gm
  4242. -0.08346 0.(while requiring as little programming as possible.  The boxes in DataVis represent two types of)ashow
  4243. F T cp
  4244. %%Page: ? 20
  4245. op
  4246. 32 30 xl
  4247. 1 1 pen
  4248. 735 300 gm
  4249. (nc 32 30 762 582 6 rc)kp
  4250. 1 setTxMode
  4251. 0 fs
  4252. 12 fz
  4253. bu fc
  4254. 2 F /|______Times-Roman fnt
  4255. bn
  4256. (16)show
  4257. 93 81 gm
  4258. 1.12228 0. 32 0.11222 0.(information, data and functions.  Like FlowKit, links are used to connect boxes together,)awidthshow
  4259. 117 81 gm
  4260. -0.05027 0.(allowing the boxes to send tokens through the system.)ashow
  4261. 153 81 gm
  4262. 0.37185 0. 32 0.03718 0.(DataVis provides a library of visual programs that can be connected together in many ways.)awidthshow
  4263. 177 81 gm
  4264. 0.01998 0. 32 0.00199 0.(No programming is necessary if only these programs are used.  If a user desires a new type of)awidthshow
  4265. 201 81 gm
  4266. 0.01846 0. 32 0.00184 0.(graphic display that does not exist in the library, there are a set of low level functions that can)awidthshow
  4267. 225 81 gm
  4268. 0.28305 0. 32 0.02830 0.(be combined to create new programs.  This is still much easier than requiring the scientist to)awidthshow
  4269. 249 81 gm
  4270. -0.10276 0.(program in a traditional language like C or Fortran.)ashow
  4271. 285 81 gm
  4272. -0.00157 0.(One interesting aspect of DataVis is that functions and procedures can be collapsed down to a)ashow
  4273. 309 81 gm
  4274. -0.01606 0.(single icon.  This allows more programming to be done, since the screen area is a very limited)ashow
  4275. 333 81 gm
  4276. 1.16073 0. 32 0.11607 0.(resource.  Function and procedure boxes can also be expanded for viewing or debugging)awidthshow
  4277. 357 81 gm
  4278. 0.16831 0.(purposes.)ashow
  4279. 393 81 gm
  4280. -0.06819 0.(A wide variety of data types can be visualized in DataVis, including scalars and vectors in one,)ashow
  4281. 417 81 gm
  4282. 0.39154 0. 32 0.03915 0.(two, and three dimensions.  The data can be displayed in a wide variety of graphic displays.)awidthshow
  4283. 441 81 gm
  4284. -0.12171 0.(The type of displays that are available depend on the type of data that is being analyzed.)ashow
  4285. F T cp
  4286. %%Page: ? 21
  4287. op
  4288. 32 30 xl
  4289. 1 1 pen
  4290. 735 300 gm
  4291. (nc 32 30 762 582 6 rc)kp
  4292. 1 setTxMode
  4293. 0 fs
  4294. 12 fz
  4295. bu fc
  4296. 2 F /|______Times-Roman fnt
  4297. bn
  4298. (17)show
  4299. 104 229 gm
  4300. 1 fs
  4301. 14 fz
  4302. bu fc
  4303. 2 F /|______Times-Bold fnt
  4304. bn
  4305. 3.28475 0. 32 0.32847 0.(Chapter 3.)awidthshow
  4306. 104 337 gm
  4307. 0.91235 0.(Design)ashow
  4308. 141 81 gm
  4309. 12 fz
  4310. bu fc
  4311. 2 F /|______Times-Bold fnt
  4312. bn
  4313. 1.99996 0.(3.1.)ashow
  4314. 141 117 gm
  4315. 3.21243 0. 32 0.32124 0.(User Interface)awidthshow
  4316. 177 81 gm
  4317. 0 fs
  4318. bu fc
  4319. 2 F /|______Times-Roman fnt
  4320. bn
  4321. -0.00511 0.(The following sections describe, in more detail, the objects that are a part of the FOIBLE user)ashow
  4322. 201 81 gm
  4323. 1.78543 0. 32 0.17854 0.(interface.  Most of the design issues are discussed in this chapter, while the details of)awidthshow
  4324. 225 81 gm
  4325. -0.06646 0.(implementation are discussed in the next chapter.  Figure 3.1 shows a diagram of the important)ashow
  4326. 249 81 gm
  4327. -0.08840 0.(classes in the FOIBLE framework and how those classes communicate with each other.)ashow
  4328. 0 0 gm
  4329. (nc 300 159 513 453 6 rc)kp
  4330. 64 gr
  4331. 303 297 340 424 4 rc
  4332. 0 gr
  4333. 303.5 297.5 339.5 423.5 0 rc
  4334. 326 307 gm
  4335. 1 setTxMode
  4336. 18 fz
  4337. bu fc
  4338. 2 F /|______Times-Roman fnt
  4339. bn
  4340. (FoibleManager)show
  4341. 64 gr
  4342. 357 162 394 217 4 rc
  4343. 0 gr
  4344. 357.5 162.5 393.5 216.5 0 rc
  4345. 380 172 gm
  4346. 1 setTxMode
  4347. (Tool)show
  4348. 64 gr
  4349. 411 288 511 451 4 rc
  4350. 0 gr
  4351. 411.5 288.5 510.5 450.5 0 rc
  4352. 64 gr
  4353. 465 306 493 352 4 rc
  4354. 0 gr
  4355. 465.5 306.5 492.5 351.5 0 rc
  4356. 486 316 gm
  4357. 1 setTxMode
  4358. 1 fs
  4359. 14 fz
  4360. bu fc
  4361. 2 F /|______Times-Bold fnt
  4362. bn
  4363. 1.33113 0.(Box)ashow
  4364. 64 gr
  4365. 465 387 493 433 4 rc
  4366. 0 gr
  4367. 465.5 387.5 492.5 432.5 0 rc
  4368. 486 397 gm
  4369. 1 setTxMode
  4370. 0.40229 0.(Link)ashow
  4371. 443 343 gm
  4372. 0 fs
  4373. 18 fz
  4374. bu fc
  4375. 2 F /|______Times-Roman fnt
  4376. bn
  4377. (Foible)show
  4378. 0 gr
  4379. 464 378 484 398 156 204 1 ar
  4380. 474 351 gm
  4381. 474 379 lin
  4382. 473 342 493 362 336 384 1 ar
  4383. 483 387 gm
  4384. 483 359 lin
  4385. 401 351 421 371 246 294 1 ar
  4386. 339 360 gm
  4387. 403 360 lin
  4388. 311 288 331 308 127 175 1 ar
  4389. 366 216 gm
  4390. 325 290 lin
  4391. 455 279 475 299 204 252 1 ar
  4392. 384 216 gm
  4393. 459 283 lin
  4394. 546 112 gm
  4395. (nc 32 30 762 582 6 rc)kp
  4396. 1 setTxMode
  4397. 12 fz
  4398. bu fc
  4399. 2 F /|______Times-Roman fnt
  4400. bn
  4401. -0.10462 0.(Figure 3.1  The interface between the important classes in the FOIBLE framework)ashow
  4402. 582 81 gm
  4403. 0.74371 0. 32 0.07437 0.(The main components of a FOIBLE application are boxes, links, tools, and canvases.  The)awidthshow
  4404. 606 81 gm
  4405. -0.06892 0.(user selects a tool and uses it to manipulate boxes and links in a canvas.  Boxes and links know)ashow
  4406. 630 81 gm
  4407. 0.22232 0. 32 0.02223 0.(their position on the canvas, and they redisplay their image whenever their position or image)awidthshow
  4408. 654 81 gm
  4409. 0.34149 0. 32 0.03414 0.(changes.  Each component is represented by a class in Figure 3.1.  Canvases are represented)awidthshow
  4410. 678 81 gm
  4411. -0.08789 0.(by the class FoibleManager.)ashow
  4412. F T cp
  4413. %%Page: ? 22
  4414. op
  4415. 32 30 xl
  4416. 1 1 pen
  4417. 735 300 gm
  4418. (nc 32 30 762 582 6 rc)kp
  4419. 1 setTxMode
  4420. 0 fs
  4421. 12 fz
  4422. bu fc
  4423. 2 F /|______Times-Roman fnt
  4424. bn
  4425. (18)show
  4426. 129 81 gm
  4427. 1 fs
  4428. bu fc
  4429. 2 F /|______Times-Bold fnt
  4430. bn
  4431. 1.79997 0.(3.1.1.)ashow
  4432. 129 153 gm
  4433. 0.80094 0.(Foible)ashow
  4434. 165 81 gm
  4435. 0 fs
  4436. bu fc
  4437. 2 F /|______Times-Roman fnt
  4438. bn
  4439. 0.08941 0. 32 0.00894 0.(Boxes and links in FOIBLE are collectively referred to as foibles.  There is enough similarity)awidthshow
  4440. 189 81 gm
  4441. -0.06245 0.(between the implementation of the two that grouping boxes and links together is justified.  The)ashow
  4442. 213 81 gm
  4443. -0.02326 0.(Foible class defines the protocol that is shared between boxes and links.  Some of the protocol)ashow
  4444. 237 81 gm
  4445. -0.05000 0.(is implemented in Foible, and some of the protocol must be implemented in the subclasses due)ashow
  4446. 261 81 gm
  4447. 1.28204 0. 32 0.12820 0.(to the differences between boxes and links.  We first describe the Foible class, and then)awidthshow
  4448. 285 81 gm
  4449. -0.08308 0.(describe the more detailed subclasses of Foible.)ashow
  4450. 321 81 gm
  4451. 1.50085 0. 32 0.15008 0.(A Foible is a component of a visual program in a FOIBLE application.  It has a visual)awidthshow
  4452. 345 81 gm
  4453. -0.05360 0.(representation on the screen, as well as internal methods for performing calculations.  Foible is)ashow
  4454. 369 81 gm
  4455. 0.80856 0. 32 0.08085 0.(a subclass of DisplayObject, and so it has protocol for displaying itself.  A Foible, like all)awidthshow
  4456. 393 81 gm
  4457. 0.01846 0. 32 0.00184 0.(DisplayObjects, knows its location on the screen and the size of its image on the screen.  This)awidthshow
  4458. 417 81 gm
  4459. 0.57754 0. 32 0.05775 0.(allows a Foible to determine if a cursor is pointing to it, or if it overlaps other Foibles.  An)awidthshow
  4460. 441 81 gm
  4461. 0.67916 0. 32 0.06791 0.(important aspect of direct manipulation systems, like those developed with FOIBLE, is the)awidthshow
  4462. 465 81 gm
  4463. -0.05061 0.(ability to interactively move the objects on the screen, and a Foible has protocol for moving its)ashow
  4464. 489 81 gm
  4465. -0.06401 0.(image.)ashow
  4466. 525 81 gm
  4467. 0.71990 0. 32 0.07199 0.(Along with having a visual representation, the objects in a visual program also serve some)awidthshow
  4468. 549 81 gm
  4469. 0.37857 0. 32 0.03785 0.(purpose, be it storing a value, performing a calculation or displaying a graphic image on the)awidthshow
  4470. 573 81 gm
  4471. 0.74722 0. 32 0.07472 0.(screen.  Most objects in a visual program need the ability to store or retrieve some type of)awidthshow
  4472. 597 81 gm
  4473. -0.09080 0.(value, and a Foible has protocol for calculating and returning its value.)ashow
  4474. 633 81 gm
  4475. -0.00212 0.(Foible does not implement all of the methods that it declares, making Foible an abstract class.)ashow
  4476. 657 81 gm
  4477. -0.10130 0.(The Foible class simply defines the interface to all visual components in a FOIBLE application.)ashow
  4478. 681 81 gm
  4479. -0.04695 0.(Each different type of component may need to reimplement some of these methods, but Foible)ashow
  4480. F T cp
  4481. %%Page: ? 23
  4482. op
  4483. 32 30 xl
  4484. 1 1 pen
  4485. 735 300 gm
  4486. (nc 32 30 762 582 6 rc)kp
  4487. 1 setTxMode
  4488. 0 fs
  4489. 12 fz
  4490. bu fc
  4491. 2 F /|______Times-Roman fnt
  4492. bn
  4493. (19)show
  4494. 93 81 gm
  4495. 1.27426 0. 32 0.12742 0.(provides the basic interface to work with.  The two subclasses of Foible, FoibleBox and)awidthshow
  4496. 117 81 gm
  4497. 0.66909 0. 32 0.06690 0.(FoibleLink, represent the two main components of a FOIBLE application, boxes and links.)awidthshow
  4498. 141 81 gm
  4499. -0.11259 0.(FoibleBox and FoibleLink implement more of the protocol that is declared by Foible.)ashow
  4500. 201 81 gm
  4501. 1 fs
  4502. bu fc
  4503. 2 F /|______Times-Bold fnt
  4504. bn
  4505. 1.79997 0.(3.1.2.)ashow
  4506. 201 153 gm
  4507. 0.87516 0.(FoibleBox)ashow
  4508. 237 81 gm
  4509. 0 fs
  4510. bu fc
  4511. 2 F /|______Times-Roman fnt
  4512. bn
  4513. 0.09765 0. 32 0.00976 0.(The FoibleBox class represents one of the most important elements in a FOIBLE application,)awidthshow
  4514. 261 81 gm
  4515. 1.22863 0. 32 0.12286 0.(boxes.  The visual representation of a FoibleBox is an icon.  FoibleBox has protocol for)awidthshow
  4516. 285 81 gm
  4517. -0.07263 0.(storing information, performing calculations, and displaying information.)ashow
  4518. 321 81 gm
  4519. 1.81625 0. 32 0.18162 0.(FoibleBoxes need some way of communicating, because many types of boxes perform)awidthshow
  4520. 345 81 gm
  4521. 2.13531 0. 32 0.21353 0.(calculations based on values received from other boxes.  Links allow FoibleBoxes to)awidthshow
  4522. 369 81 gm
  4523. -0.07368 0.(communicate with each other.  A FoibleBox sends a message by sending it through its links.)ashow
  4524. 405 81 gm
  4525. -0.02061 0.(FoibleBoxes are connected to other boxes by links.  A box may perform calculations based on)ashow
  4526. 429 81 gm
  4527. -0.05216 0.(the boxes that it is connected to.  In order to exchange information in a FOIBLE system, boxes)ashow
  4528. 453 81 gm
  4529. 0.21820 0. 32 0.02182 0.(need protocol for sending information to, and receiving information from the boxes that they)awidthshow
  4530. 477 81 gm
  4531. -0.01695 0.(are connected to.  Value passing is not implemented by FoibleBox, but left to be implemented)ashow
  4532. 501 81 gm
  4533. -0.07514 0.(by subclasses, since there are varying approaches to implementing value passing in a system.)ashow
  4534. 537 81 gm
  4535. 0.46524 0. 32 0.04652 0.(Applications normally contain a number of subclasses of FoibleBox, since each type of box)awidthshow
  4536. 561 81 gm
  4537. 0.44158 0. 32 0.04415 0.(requires a new class.  Most of these classes implement very few methods, and many classes)awidthshow
  4538. 585 81 gm
  4539. 1.58309 0. 32 0.15830 0.(inherit the methods that implement interaction and value passing.  The subclasses must)awidthshow
  4540. 609 81 gm
  4541. 0.19897 0. 32 0.01989 0.(implement the actions of the box \(i.e. calculating a value, or displaying a graphic image\) and)awidthshow
  4542. 633 81 gm
  4543. -0.09677 0.(define the image of the box.)ashow
  4544. F T cp
  4545. %%Page: ? 24
  4546. op
  4547. 32 30 xl
  4548. 1 1 pen
  4549. 735 300 gm
  4550. (nc 32 30 762 582 6 rc)kp
  4551. 1 setTxMode
  4552. 0 fs
  4553. 12 fz
  4554. bu fc
  4555. 2 F /|______Times-Roman fnt
  4556. bn
  4557. (20)show
  4558. 105 81 gm
  4559. 1 fs
  4560. bu fc
  4561. 2 F /|______Times-Bold fnt
  4562. bn
  4563. 1.79997 0.(3.1.3.)ashow
  4564. 105 153 gm
  4565. 0.59170 0.(FoibleLink)ashow
  4566. 141 81 gm
  4567. 0 fs
  4568. bu fc
  4569. 2 F /|______Times-Roman fnt
  4570. bn
  4571. 0.42984 0. 32 0.04298 0.(FoibleLinks serve two related purposes in a FOIBLE application; they connect FoibleBoxes)awidthshow
  4572. 165 81 gm
  4573. -0.08906 0.(visually, and they allow FoibleBoxes to communicate with each other during the execution of a)ashow
  4574. 189 81 gm
  4575. 0.19332 0. 32 0.01933 0.(visual program.  Much of the protocol that FoibleLink implements is used for displaying and)awidthshow
  4576. 213 81 gm
  4577. -0.10214 0.(modifying the image of a link.)ashow
  4578. 249 81 gm
  4579. 0.11932 0. 32 0.01193 0.(FOIBLE creates links in such a way that it is easy to know the direction that information will)awidthshow
  4580. 273 81 gm
  4581. 0.07247 0. 32 0.00724 0.(travel.  Links are always created by first selecting the box that will send information and then)awidthshow
  4582. 297 81 gm
  4583. -0.13293 0.(selecting the box that will receive information.)ashow
  4584. 333 81 gm
  4585. 0.53756 0. 32 0.05375 0.(After a link is created, its image shows the direction that the boxes will communicate.  The)awidthshow
  4586. 357 81 gm
  4587. 0.64086 0. 32 0.06408 0.(images for links all contain an arrow to display the direction of a link.  Although only uni-)awidthshow
  4588. 381 81 gm
  4589. 1.35787 0. 32 0.13578 0.(directional links have been used in FOIBLE applications, it should be possible to create)awidthshow
  4590. 405 81 gm
  4591. -0.11868 0.(bidirectional links, in which information can travel in either direction.)ashow
  4592. 441 81 gm
  4593. 1.03317 0. 32 0.10331 0.(FOIBLE applications must have at least one subclass of FoibleLink.  There may be more)awidthshow
  4594. 465 81 gm
  4595. 0.94329 0. 32 0.09432 0.(subclasses, depending on the number of different types of links that are in a system.  The)awidthshow
  4596. 489 81 gm
  4597. -0.06567 0.(subclasses must implement value passing and define the link's image.)ashow
  4598. 549 81 gm
  4599. 1 fs
  4600. bu fc
  4601. 2 F /|______Times-Bold fnt
  4602. bn
  4603. 1.79997 0.(3.1.4.)ashow
  4604. 549 153 gm
  4605. 0.88742 0.(Tool)ashow
  4606. 585 81 gm
  4607. 0 fs
  4608. bu fc
  4609. 2 F /|______Times-Roman fnt
  4610. bn
  4611. -0.05982 0.(Tools are used to perform various operations in a FOIBLE application.  For example, tools can)ashow
  4612. 609 81 gm
  4613. 1.12915 0. 32 0.11291 0.(be used for adding, deleting, or editing a box or link.  Several tools can be defined for a)awidthshow
  4614. 633 81 gm
  4615. 0.63659 0. 32 0.06365 0.(canvas, however only one tool can be active at any one time.  Each tool has an icon that is)awidthshow
  4616. 657 81 gm
  4617. 1.02981 0. 32 0.10298 0.(displayed in the palette and can have its own cursor that is used when it is active.  Tools)awidthshow
  4618. 681 81 gm
  4619. 1.39556 0. 32 0.13955 0.(perform operations depending on user inputs such as mouse clicks, menu selections and)awidthshow
  4620. F T cp
  4621. %%Page: ? 25
  4622. op
  4623. 32 30 xl
  4624. 1 1 pen
  4625. 735 300 gm
  4626. (nc 32 30 762 582 6 rc)kp
  4627. 1 setTxMode
  4628. 0 fs
  4629. 12 fz
  4630. bu fc
  4631. 2 F /|______Times-Roman fnt
  4632. bn
  4633. (21)show
  4634. 93 81 gm
  4635. -0.07237 0.(keyboard input, and if a tool can perform more than one operation, the available operations can)ashow
  4636. 117 81 gm
  4637. -0.07589 0.(be selected with a pop-up menu.)ashow
  4638. 153 81 gm
  4639. 0.81756 0. 32 0.08175 0.(The protocol for drawing and editing links between boxes is contained in Tool.  Tool also)awidthshow
  4640. 177 81 gm
  4641. 0.29418 0. 32 0.02941 0.(declares methods for creating, moving and deleting \(and copying\) Foibles, although some of)awidthshow
  4642. 201 81 gm
  4643. -0.02046 0.(the methods are not implemented and left to subclasses to implement.  Many of the operations)ashow
  4644. 225 81 gm
  4645. -0.07884 0.(that Tools perform require the selection of a Foible, so Tool has various methods for cursor I/O)ashow
  4646. 249 81 gm
  4647. -0.10929 0.(and selecting a Foible at the cursor location.)ashow
  4648. 285 81 gm
  4649. 0.07354 0. 32 0.00735 0.(The class Tool is slightly different from the user interface tool.  In the FOIBLE user interface)awidthshow
  4650. 309 81 gm
  4651. -0.03472 0.(terms, a "tool" is selected in the palette, and if there are multiple canvases, then the "tool" may)ashow
  4652. 333 81 gm
  4653. 0.80551 0. 32 0.08055 0.(perform different operations in each canvas.  However, a Tool in FOIBLE operates in one)awidthshow
  4654. 357 81 gm
  4655. 0.34820 0. 32 0.03482 0.(canvas.  If there is more than one canvas in a system then a Tool is installed in each canvas.)awidthshow
  4656. 381 81 gm
  4657. 0.90591 0. 32 0.09059 0.(Thus, selecting a single user interface tool might cause several Tools to be installed.  The)awidthshow
  4658. 405 81 gm
  4659. -0.04803 0.(reason for having a separate Tool for each canvas is that a "tool" may have a different function)ashow
  4660. 429 81 gm
  4661. 0.89172 0. 32 0.08917 0.(in each canvas.  If the same functionality is desired in each canvas, then the same Tool is)awidthshow
  4662. 453 81 gm
  4663. 0.16647 0. 32 0.01664 0.(installed in each canvas.  This could be implemented another way, but since we have not had)awidthshow
  4664. 477 81 gm
  4665. -0.09692 0.(problems with the current implementation, we did not spend time redesigning it.)ashow
  4666. 537 81 gm
  4667. 1 fs
  4668. bu fc
  4669. 2 F /|______Times-Bold fnt
  4670. bn
  4671. 1.79997 0.(3.1.5.)ashow
  4672. 537 153 gm
  4673. 0.59979 0.(Canvas)ashow
  4674. 573 81 gm
  4675. 0 fs
  4676. bu fc
  4677. 2 F /|______Times-Roman fnt
  4678. bn
  4679. 0.25939 0. 32 0.02593 0.(The canvas is where users perform all of their work.  Smalltalk provides a very friendly user)awidthshow
  4680. 597 81 gm
  4681. 0.02304 0. 32 0.00230 0.(interface, and much of the interface is retained in FOIBLE.  Many actions are performed with)awidthshow
  4682. 621 81 gm
  4683. 0.35614 0. 32 0.03561 0.(the mouse, although data must sometimes be entered with the keyboard.  To inform the user)awidthshow
  4684. 645 81 gm
  4685. 0.97869 0. 32 0.09786 0.(which tool is active, the image of the cursor may change when it is moved into a canvas.)awidthshow
  4686. 669 81 gm
  4687. 0.46737 0. 32 0.04673 0.(Changing the cursor is also useful when there is more than one canvas in an application.  A)awidthshow
  4688. 693 81 gm
  4689. -0.09165 0.(single tool may have different functionality in each different canvas, and changing the cursor to)ashow
  4690. F T cp
  4691. %%Page: ? 26
  4692. op
  4693. 32 30 xl
  4694. 1 1 pen
  4695. 735 300 gm
  4696. (nc 32 30 762 582 6 rc)kp
  4697. 1 setTxMode
  4698. 0 fs
  4699. 12 fz
  4700. bu fc
  4701. 2 F /|______Times-Roman fnt
  4702. bn
  4703. (22)show
  4704. 93 81 gm
  4705. 0.94024 0. 32 0.09402 0.(signify this will alert the user to the change in functionality.  The ability to have multiple)awidthshow
  4706. 117 81 gm
  4707. -0.10104 0.(canvases in an application is a useful ability provided by FOIBLE.)ashow
  4708. 153 81 gm
  4709. -0.11746 0.(Many applications need only one canvas, but there are examples where an application could use)ashow
  4710. 177 81 gm
  4711. -0.05335 0.(more than one canvas.  An example would be an application in which each canvas represents a)ashow
  4712. 201 81 gm
  4713. 0.41503 0. 32 0.04150 0.(different view of the objects in the system.  FlowKit is an example of using FOIBLE in this)awidthshow
  4714. 225 81 gm
  4715. 2.10464 0. 32 0.21046 0.(manner [Scae88].  Another possibility is using canvases to display different levels of)awidthshow
  4716. 249 81 gm
  4717. 0.11276 0. 32 0.01127 0.(abstraction.  One canvas could display only the most basic information, while another canvas)awidthshow
  4718. 273 81 gm
  4719. 0.06088 0. 32 0.00608 0.(could display all of the information in a system.  Other canvases could display information of)awidthshow
  4720. 297 81 gm
  4721. 1.92504 0. 32 0.19250 0.(intermediate complexity.  Although FOIBLE supports multiple canvases, ensuring that)awidthshow
  4722. 321 81 gm
  4723. -0.09640 0.(canvases are consistent is left to the developers that use it.)ashow
  4724. 381 81 gm
  4725. 1 fs
  4726. bu fc
  4727. 2 F /|______Times-Bold fnt
  4728. bn
  4729. 1.99996 0.(3.2.)ashow
  4730. 381 117 gm
  4731. 0.56983 0.(Model-View-Controller)ashow
  4732. 417 81 gm
  4733. 0 fs
  4734. bu fc
  4735. 2 F /|______Times-Roman fnt
  4736. bn
  4737. 0.67428 0. 32 0.06742 0.(Smalltalk has a framework for user interfaces, called Model-View-Controller \(MVC\).  The)awidthshow
  4738. 441 81 gm
  4739. -0.05987 0.(model contains the data that the interface is related to.  The view displays an image of the data.)ashow
  4740. 465 81 gm
  4741. 1.19705 0. 32 0.11970 0.(The controller converts user input into messages to the model and the view.  FOIBLE is)awidthshow
  4742. 489 81 gm
  4743. 0.23406 0. 32 0.02340 0.(integrated into MVC, and the design of FOIBLE is similar to the design of MVC.  However,)awidthshow
  4744. 513 81 gm
  4745. -0.11595 0.(most of FOIBLE is independent of MVC, and MVC does not directly affect the implementation)ashow
  4746. 537 81 gm
  4747. 1.94244 0. 32 0.19424 0.(of Foible or FoibleManager.  For a detailed description of the Model-View-Controller)awidthshow
  4748. 561 81 gm
  4749. 0.09582 0. 32 0.00958 0.(framework, consult [Gold87] and [Kras88].)awidthshow
  4750. 597 81 gm
  4751. 0.03005 0. 32 0.00300 0.(Views display an image of the data in a window on the screen.  A view can also contain other)awidthshow
  4752. 621 81 gm
  4753. 0.33920 0. 32 0.03392 0.(views, called subViews, inside of it.  When an operation, such as moving, is performed on a)awidthshow
  4754. 645 81 gm
  4755. -0.04200 0.(view, it informs each of its subViews.  This maintains consistency within each window.  Since)ashow
  4756. 669 81 gm
  4757. -0.06001 0.(all user input is performed by controllers, the controllers can ensure that the displayed image is)ashow
  4758. 693 81 gm
  4759. -0.08906 0.(always correct by informing the view whenever an operation is performed on the model.)ashow
  4760. F T cp
  4761. %%Page: ? 27
  4762. op
  4763. 32 30 xl
  4764. 1 1 pen
  4765. 735 300 gm
  4766. (nc 32 30 762 582 6 rc)kp
  4767. 1 setTxMode
  4768. 0 fs
  4769. 12 fz
  4770. bu fc
  4771. 2 F /|______Times-Roman fnt
  4772. bn
  4773. (23)show
  4774. 93 81 gm
  4775. 0.62713 0. 32 0.06271 0.(MouseMenuController, which is a subclass of the main controller class, gives the ability to)awidthshow
  4776. 117 81 gm
  4777. 0.37673 0. 32 0.03767 0.(create a popup menu when a mouse button is pressed.  A subclass of MouseMenuController)awidthshow
  4778. 141 81 gm
  4779. 0.44631 0. 32 0.04463 0.(can define menus and the resulting operations that are available, and MouseMenuController)awidthshow
  4780. 165 81 gm
  4781. -0.02377 0.(handles displaying the appropriate menu, when a button is pressed, and sending the associated)ashow
  4782. 189 81 gm
  4783. 0.80017 0. 32 0.08001 0.(message.  Smalltalk uses a three button mouse, and there is a convention in Smalltalk that)awidthshow
  4784. 213 81 gm
  4785. -0.08551 0.(assigns an important function to each button for MouseMenuController and its subclasses.  The)ashow
  4786. 237 81 gm
  4787. 0.00549 0. 32 0.00054 0.(left \(red\) button is used to select objects in a view.  The middle \(yellow\) button has a menu of)awidthshow
  4788. 261 81 gm
  4789. 0.90698 0. 32 0.09069 0.(operations that are available in a view.  The right \(blue\) button has a menu of windowing)awidthshow
  4790. 285 81 gm
  4791. (operations.)show
  4792. 321 81 gm
  4793. 0.65460 0. 32 0.06546 0.(The windowing operations are implemented in StandardSystemController, which is usually)awidthshow
  4794. 345 81 gm
  4795. -0.03871 0.(used as the top level controller for a window.  Subclasses of MouseMenuController usually do)ashow
  4796. 369 81 gm
  4797. 0.40893 0. 32 0.04089 0.(not implement a blue button menu.  Instead, they delegate handling the blue button menu to)awidthshow
  4798. 393 81 gm
  4799. 0.25375 0. 32 0.02537 0.(their top level controller, which is a StandardSystemController.  Most Smalltalk applications)awidthshow
  4800. 417 81 gm
  4801. -0.09593 0.(redefine the red and yellow button activities, and FOIBLE was built in this manner.)ashow
  4802. 477 81 gm
  4803. 1 fs
  4804. bu fc
  4805. 2 F /|______Times-Bold fnt
  4806. bn
  4807. 1.79997 0.(3.2.1.)ashow
  4808. 477 153 gm
  4809. 2.08816 0. 32 0.20881 0.(Top Level MVC)awidthshow
  4810. 513 81 gm
  4811. 0 fs
  4812. bu fc
  4813. 2 F /|______Times-Roman fnt
  4814. bn
  4815. -0.00901 0.(There are three levels of Model-View-Controller in a FOIBLE application.  Most applications)ashow
  4816. 537 81 gm
  4817. 0.83953 0. 32 0.08395 0.(built in Smalltalk are placed inside of a StandardSystemView \(SSV\), because SSV and its)awidthshow
  4818. 561 81 gm
  4819. -0.03565 0.(controller, StandardSystemController \(SSC\), implement the operations that allow a window to)ashow
  4820. 585 81 gm
  4821. 1.01715 0. 32 0.10171 0.(be moved and resized.  Thus, all of the views in an application are subviews of the SSV.)awidthshow
  4822. 609 81 gm
  4823. 0.08834 0. 32 0.00883 0.(FOIBLE is built in this manner.  The relationship between the various views and controller is)awidthshow
  4824. 633 81 gm
  4825. 0.75866 0. 32 0.07586 0.(shown in Figures 3.2 and 3.3.  Figure 3.2 shows a picture of FlowKit, which is a FOIBLE)awidthshow
  4826. 657 81 gm
  4827. -0.07656 0.(application that uses two canvases.)ashow
  4828. F T cp
  4829. %%Page: ? 28
  4830. op
  4831. 32 30 xl
  4832. 1 1 pen
  4833. 735 300 gm
  4834. (nc 32 30 762 582 6 rc)kp
  4835. 1 setTxMode
  4836. 0 fs
  4837. 12 fz
  4838. bu fc
  4839. 2 F /|______Times-Roman fnt
  4840. bn
  4841. (24)show
  4842. 0 0 gm
  4843. (nc 72 140 388 471 6 rc)kp
  4844. T 331 81 140 72 42 331 81 T 0 db
  4845. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4846. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4847. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4848. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4849. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4850. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  4851. 00000000FFFFFFFFFFFFFE00000000000000000000000000000000000000000000000000000000000000
  4852. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  4853. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  4854. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  4855. 000000008FE4000039C80200000000000000000000000000000000000000000000000000000000000000
  4856. 00000000842C000011008200000000000000000000000000000000000000000000000000000000000000
  4857. 000000008404000012008200000000000000000000000000000000000000000000000000000000000000
  4858. 00000000844431F71409C200000000000000000000000000000000000000000000000000000000000000
  4859. 0000000087C448A218188200000000000000000000000000000000000000000000000000000000000000
  4860. 00000000844484A214088200000000000000000000000000000000000000000000000000000000000000
  4861. 000000008404845412088200000000000000000000000000000000000000000000000000000000000000
  4862. 000000008404845411088200000000000000000000000000000000000000000000000000000000000000
  4863. 00000000840448281088A200000000000000000000000000000000000000000000000000000000000000
  4864. 000000008E0E302839DC4200000000000000000000000000000000000000000000000000000000000000
  4865. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  4866. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  4867. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  4868. 000000008000000000000200000000000000000000000000000000000000000000000000000000000000
  4869. 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
  4870. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  4871. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  4872. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4873. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4874. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4875. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4876. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4877. 14000F828000000000000000000000000000000000001800000000000000000000000000000000000100
  4878. 140018428000000000000000000000000000000000001800000000000000000000000000000000000100
  4879. 171FF0328000000000000000000000000000000000001800000000000000000000000000000000000100
  4880. 1720240A8000000000000000000000000000000000001800000000000000000000000000000000000100
  4881. 171FE7068000000000000000000000000000000000001800000000000000000000000000000000000100
  4882. 1400AA028000000000000000000000000000000000001800000000000000000000000000000000000100
  4883. 14009D028000000000000000000000000000000000001800000000000000000000000000000000000100
  4884. 140081028000000000000000000000000000000000001800000000000000000000000000000000000100
  4885. 14007F028000000000000000000000000000000000001800000000000000000000000000000000000100
  4886. 140041028000000000000000000000000000000000001800000000000000000000000000000000000100
  4887. 14003E068000000000000000000000000000000000001800000000000000000000000000000000000100
  4888. 1400211A8000000000000000000000000000000000001800000000000000000000000000000000000100
  4889. 14001FE28000000000000000000000000000000000001800000000000000000000000000000000000100
  4890. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4891. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4892. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4893. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4894. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4895. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4896. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  4897. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  4898. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  4899. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4900. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4901. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4902. 140030028000000000000000000000000000000000001800000000000000000000000000000000000100
  4903. 1401CE028000000000000000000000000000000000001800000000000000000000000000000000000100
  4904. 140249028000000000000000000000000000000000001800000000000000000000000000000000000100
  4905. 140249828000000000000000000000000000000000001800000000000000000000000000000000000100
  4906. 140249428000000000000000000000000000000000001800000000000000000000000000000000000100
  4907. 140249428000000000000000000000000000000000001800000000000000000000000000000000000100
  4908. 141A01428000000000000000000000000000000000001800000000000000000000000000000000000100
  4909. 142600428000000000000000000000000000000000001800000000000000000000000000000000000100
  4910. 142200428000000000000000000000000000000000001800000000000000000000000000000000000100
  4911. 141000828000000000000000000000000000000000001800000000000000000000000000000000000100
  4912. 140800828000000000000000000000000000000000001800000000000000000000000000000000000100
  4913. 140401028000000000000000000000000000000000001800000000000000000000000000000000000100
  4914. 140201028000000000000000000000000000000000001800000000000000000000000000000000000100
  4915. 140102028000000000000000000000000000000000001800000000000000000000000000000000000100
  4916. 140102028000000000000000000000000000000000001800000000000000000000000000000000000100
  4917. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4918. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4919. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4920. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4921. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4922. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4923. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  4924. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  4925. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  4926. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4927. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4928. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4929. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4930. T 331 79 140 153 42 331 79 T 0 db
  4931. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4932. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4933. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4934. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4935. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4936. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4937. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4938. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4939. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4940. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4941. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4942. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4943. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4944. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4945. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4946. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4947. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4948. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4949. 141800028000000000000000000000000000000000001800000000000000000000000000000000000100
  4950. 141FFF028000000000000000000000000000000000001800000000000000000000000000000000000100
  4951. 141FFF028000000000000000000000000000000000001800000000000000000000000000000000000100
  4952. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4953. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4954. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4955. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  4956. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  4957. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  4958. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4959. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  4960. 147870028000000000000000000000000000000000001800000000000000000000000000000000000100
  4961. 140478028000000000000000000000000000000000001800000000000000000000000000000000000100
  4962. 1402FC028000000000000000000000000000000000001800000000000000000000000000000000000100
  4963. 14039E028000000000000000000000000000000000001800000000000000000000000000000000000100
  4964. 14064F028000000000000000000000000000000000001800000000000000000000000000000000000100
  4965. 140927828000000000000000000000000000000000001800000000000000000000000000000000000100
  4966. 141493C28000000000000000000000000000000000001800000000000000000000000000000000000100
  4967. 141249E28000000000000000000000000000000000001800000000000000000000000000000000000100
  4968. 142924F28000000000000000000000000000000000001800000000000000000000000000000000000100
  4969. 142492728000000000000000000000000000000000001800000000000000000000000000000000000100
  4970. 14D249428000000000000000000000000000000000001800000000000000000000000000000000000100
  4971. 14E924C28000000000000000000000000000000000001800000000000000000000000000000000000100
  4972. 14F492828000000000000000000000000000000000001800000000000000000000000000000000000100
  4973. 147A49828000000000000000000000000000000000001800000000000000000000000000000000000100
  4974. 143D25028000000000000000000000000000000000001800000000000000000000000000000000000100
  4975. 141E92028000000000000000000000000000000000001800000000000000000000000000000000000100
  4976. 140F4C028000000000000000000000000000000000001800000000000000000000000000000000000100
  4977. 1407B8028000000000000000000000000000000000001800000000000000000000000000000000000100
  4978. 1403E0028000000000000000000000000000000000001800000000000000000000000000000000000100
  4979. 1401E0028000000000000000000000000000000000001800000000000000000000000000000000000100
  4980. 1400C00280000007FFFFFF80000000000000000000001800000000000000000000000000000000000100
  4981. 140000028000000400000080000000000000000000001800000000000000000000000000000000000100
  4982. 17FFFFFE80000005FFFFFC80000000000000000000001800000000000000000000000000000000000100
  4983. 100000008000000500000480000000000000000000001800000000000000000000000000000000000100
  4984. 10000000800000053000048000000000000000000000180007FFFE000000000000000000000000000100
  4985. 17FFFFFE800000054800048000000000000000000000180005332A002200110000000000000000000100
  4986. 17FFFFFE800000050800048000000000000000000000180005112A001100088000000000000000000100
  4987. 17FFFFFE800000053000048000000000000000000000180005333BFFC8FFE47800000000000000000100
  4988. 17FFFFFE800000050800048000000000000000000000180005210A001100088800000000000000000100
  4989. 17FFFFFE800000054800048000000000000000000000180005330A002200110800000000000000000100
  4990. 17FFFFFE800000053000048000000000000000000000180007FFFE000000000800000000000000000100
  4991. 170FFFFE8000000500000480000000000000000000001800000000000000000800000000000000000100
  4992. 1761FFFE80000005FFFFFC80000000000000000000001800000000000000000800000000000000000100
  4993. 177C3FFE8000000400000080000000000000000000001800000000000000000800000000000000000100
  4994. 177F87FE8000000400000080000000000000000000001800000000000000000800000000000000000100
  4995. 177FF0FE80000007FFFFFF80000000000000000000001800000000000000000800000000000000000100
  4996. 177FFE3E8000000000000000000000000000000000001800000000000000000800000000000000000100
  4997. 177FFF8E8000000000000000000000000000000000001800000000000000000800000000000000000100
  4998. 177FFE3E800000000000000000000000FFFFFFF000001800000000000000002200000000000000000100
  4999. 177FF0FE800000000000000000000000800000100000180000000000000001D400000000000000000100
  5000. 177F87FE800000000000000000000000BFFFFFD000001800000000000000013800000000000000000100
  5001. 177C3FFE800000000000000000000000A000005000001800000000000000010700000000000000000100
  5002. 1761FFFE800000000000000000000000A0000050000018000000000000000100E00000000001FFFF8100
  5003. 170FFFFE800000000000000000000000AF0000500000180000000000000001081C00044002214CCA8100
  5004. 17FFFFFE800000000000000000000000A9000050000018000000000000000108038002200111444A8100
  5005. 17FFFFFE800000000000000000000000A100005000001800000000000000013E007FF91FFC8F4CCE8100
  5006. 17FFFFFE800000000000000000000000A200005000001800000000000000010803800220011148428100
  5007. 17FFFFFE800000000000000000000000A20000500000180000000000000001081C00044002214CC28100
  5008. 17FFFFFE800000000000000000000000A4000050000018000000000000000100E00000000001FFFF8100
  5009. 17FFFFFE800000000000000000000000A400005000001800000000000000010700000000000000000100
  5010. 10000000800000000000000000000000A000005000001800000000000000013800000000000000000100
  5011. 10000000800000000000000000000000BFFFFFD00000180000000000000001D400000000000000000100
  5012. 17FFFFFE8000000000000000000000008000001000001800000000000000002200000000000000000100
  5013. 14000002800000000000000000000000FFFFFFF000001800000000000000000800000000000000000100
  5014. T 331 79 140 232 42 331 79 T 0 db
  5015. 10000000800000000000000000000000A000005000001800000000000000013800000000000000000100
  5016. 10000000800000000000000000000000BFFFFFD00000180000000000000001D400000000000000000100
  5017. 17FFFFFE8000000000000000000000008000001000001800000000000000002200000000000000000100
  5018. 14000002800000000000000000000000FFFFFFF000001800000000000000000800000000000000000100
  5019. 140000028000000000000000000000000000000000001800000000000000000800000000000000000100
  5020. 140040028000000000000000000000000000000000001800000000000000000800000000000000000100
  5021. 143FFFC28000000000000000000000000000000000001800000000000000000800000000000000000100
  5022. 143FFFC280000003FFFFFFC0000000000000000000001800000000000000000800000000000000000100
  5023. 142040428000000200000040000000000000000000001800000000000000000800000000000000000100
  5024. 1420404280000002FFFFFE40000000000000000000001800000000000000000800000000000000000100
  5025. 14204042800000028000024000000000000000000000180007FFFE000000000800000000000000000100
  5026. 14604062800000028400024000000000000000000000180005332A002200110800000000000000000100
  5027. 14904092800000028C00024000000000000000000000180005112A001100088800000000000000000100
  5028. 14904092800000029400024000000000000000000000180005333BFFC8FFE47800000000000000000100
  5029. 1508410A80000002A400024000000000000000000000180005210A001100088000000000000000000100
  5030. 1508410A80000002BC00024000000000000000000000180005330A002200110000000000000000000100
  5031. 1508410A800000028400024000000000000000000000180007FFFE000000000000000000000000000100
  5032. 15F841FA8000000284000240000000000000000000001800000000000000000000000000000000000100
  5033. 149040928000000280000240000000000000000000001800000000000000000000000000000000000100
  5034. 1460406280000002FFFFFE40000000000000000000001800000000000000000000000000000000000100
  5035. 140040028000000200000040000000000000000000001800000000000000000000000000000000000100
  5036. 140040028000000200000040000000000000000000001800000000000000000000000000000000000100
  5037. 1400400280000003FFFFFFC0000000000000000000001800000000000000000000000000000000000100
  5038. 1407FC028000000000000000000000000000000000001800000000000000000000000000000000000100
  5039. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5040. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5041. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5042. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  5043. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5044. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  5045. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5046. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5047. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5048. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5049. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5050. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5051. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5052. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5053. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5054. 150F7EF28000000000000000000000000000000000001800000000000000000000000000000000000100
  5055. 150942828000000000000000000000000000000000001800000000000000000000000000000000000100
  5056. 150942828000000000000000000000000000000000001800000000000000000000000000000000000100
  5057. 150942828000000000000000000000000000000000001800000000000000000000000000000000000100
  5058. 15095A828000000000000000000000000000000000001800000000000000000000000000000000000100
  5059. 15094A828000000000000000000000000000000000001800000000000000000000000000000000000100
  5060. 15EF7EF28000000000000000000000000000000000001800000000000000000000000000000000000100
  5061. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5062. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5063. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5064. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5065. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5066. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5067. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5068. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5069. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  5070. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5071. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  5072. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5073. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5074. 1407FC028000000000000000000000000000000000001800000000000000000000000000000000000100
  5075. 140842028000000000000000000000000000000000001800000000000000000000000000000000000100
  5076. 141041028000000000000000000000000000000000001800000000000000000000000000000000000100
  5077. 142001828000000000000000000000000000000000001800000000000000000000000000000000000100
  5078. 1443FB428000000000000000000000000000000000001800000000000000000000000000000000000100
  5079. 148406228000000000000000000000000000000000001800000000000000000000000000000000000100
  5080. 1509FA128000000000000000000000000000000000001800000000000000000000000000000000000100
  5081. 151209128000000000000000000000000000000000001800000000000000000000000000000000000100
  5082. 151405128000000000000000000000000000000000001800000000000000000000000000000000000100
  5083. 15D405728000000000000000000000000000000000001800000000000000000000000000000000000100
  5084. 151405128000000000000000000000000000000000001800000000000000000000000000000000000100
  5085. 15160D128000000000000000000000000000000000001800000000000000000000000000000000000100
  5086. 1509FA128000000000000000000000000000000000001800000000000000000000000000000000000100
  5087. 148404228000000000000000000000000000000000001800000000000000000000000000000000000100
  5088. 1443F8428000000000000000000000000000000000001800000000000000000000000000000000000100
  5089. 142000828000000000000000000000000000000000001800000000000000000000000000000000000100
  5090. 141041028000000000000000000000000000000000001800000000000000000000000000000000000100
  5091. 140842028000000000000000000000000000000000001800000000000000000000000000000000000100
  5092. 1407FC028000000000000000000000000000000000001800000000000000000000000000000000000100
  5093. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5094. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5095. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5096. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  5097. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5098. T 331 79 140 311 42 331 79 T 0 db
  5099. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5100. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5101. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  5102. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5103. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  5104. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5105. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5106. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5107. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5108. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5109. 15FFFFFA8000000000000000000000000000000000001800000000000000000000000000000000000100
  5110. 1500000A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5111. 1500000A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5112. 1501F80A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5113. 1506260A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5114. 1508210A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5115. 1518018A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5116. 1514028A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5117. 1520004A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5118. 15200C4A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5119. 15400C2A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5120. 157010EA8000000000000000000000000000000000001800000000000000000000000000000000000100
  5121. 1540202A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5122. 157FFFEA8000000000000000000000000000000000001800000000000000000000000000000000000100
  5123. 1500000A8000000000000000000000000000000000001800000000000000000000000000000000000100
  5124. 15FFFFFA8000000000000000000000000000000000001800000000000000000000000000000000000100
  5125. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5126. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5127. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5128. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  5129. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5130. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  5131. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5132. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5133. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5134. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5135. 1400F8028000000000000000000000000000000000001800000000000000000000000000000000000100
  5136. 140306028000000000000000000000000000000000001800000000000000000000000000000000000100
  5137. 140C01828000000000000000000000000000000000001800000000000000000000000000000000000100
  5138. 141000428000000000000000000000000000000000001800000000000000000000000000000000000100
  5139. 142000228000000000000000000000000000000000001800000000000000000000000000000000000100
  5140. 142000228000000000000000000000000000000000001800000000000000000000000000000000000100
  5141. 144000128000000000000000000000000000000000001800000000000000000000000000000000000100
  5142. 144000128000000000000000000000000000000000001800000000000000000000000000000000000100
  5143. 144000128000000000000000000000000000000000001800000000000000000000000000000000000100
  5144. 144000128000000000000000000000000000000000001800000000000000000000000000000000000100
  5145. 144000128000000000000000000000000000000000001800000000000000000000000000000000000100
  5146. 144000128000000000000000000000000000000000001800000000000000000000000000000000000100
  5147. 140000228000000000000000000000000000000000001800000000000000000000000000000000000100
  5148. 140000228000000000000000000000000000000000001800000000000000000000000000000000000100
  5149. 141E00428000000000000000000000000000000000001800000000000000000000000000000000000100
  5150. 141801828000000000000000000000000000000000001800000000000000000000000000000000000100
  5151. 141606028000000000000000000000000000000000001800000000000000000000000000000000000100
  5152. 1411F8028000000000000000000000000000000000001800000000000000000000000000000000000100
  5153. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5154. 140000028000000000000000000000000000000000001800000000000000000000000000000000000100
  5155. 17FFFFFE8000000000000000000000000000000000001800000000000000000000000000000000000100
  5156. 100000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5157. 1FFFFFFF8000000000000000000000000000000000001800000000000000000000000000000000000100
  5158. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5159. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5160. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5161. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5162. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5163. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5164. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5165. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5166. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5167. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5168. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5169. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5170. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5171. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5172. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5173. 000000008000000000000000000000000000000000001800000000000000000000000000000000000100
  5174. 00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
  5175. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5176. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5177. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5178. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5179. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5180. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5181. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5182. 421 201 gm
  5183. (nc 32 30 762 582 6 rc)kp
  5184. bu fc
  5185. 2 F /|______Times-Roman fnt
  5186. bn
  5187. -0.03089 0.(Figure 3.2  FlowKit by Beth Scaer [Scae88])ashow
  5188. 457 81 gm
  5189. 0.00595 0. 32 0.00059 0.(Figure 3.3 shows a detailed diagram of how the views actually fit together.  The top level of a)awidthshow
  5190. 481 81 gm
  5191. 0.07461 0. 32 0.00746 0.(FOIBLE application is contained inside of a FoibleView, which is a subclass of SSV, and the)awidthshow
  5192. 505 81 gm
  5193. 0.10330 0. 32 0.01033 0.(controller for the FoibleView is an SSC.  The second level has a ToolBenchView, which fills)awidthshow
  5194. 529 81 gm
  5195. 0.40588 0. 32 0.04058 0.(the entire area of the SSV.  The controller for the ToolBenchView is a PaletteController.  A)awidthshow
  5196. 553 81 gm
  5197. 0.17761 0. 32 0.01776 0.(FoibleProgram is used as the model at this level and the top level.  The FoibleProgram keeps)awidthshow
  5198. 577 81 gm
  5199. -0.02580 0.(track of the top level FoibleManagers for each canvas and also can store and retrieve its visual)ashow
  5200. 601 81 gm
  5201. -0.04861 0.(program.  Programs are stored and retrieved using a binary storage method, which is described)ashow
  5202. 625 81 gm
  5203. -0.06269 0.(later.)ashow
  5204. 661 81 gm
  5205. 2.53021 0. 32 0.25302 0.(The third level of MVC represents the canvases.  One CanvasView is added to the)awidthshow
  5206. 685 81 gm
  5207. 3.63281 0. 32 0.36328 0.(ToolBenchView for each canvas in the application, and each CanvasView has a)awidthshow
  5208. F T cp
  5209. %%Page: ? 29
  5210. op
  5211. 32 30 xl
  5212. 1 1 pen
  5213. 735 300 gm
  5214. (nc 32 30 762 582 6 rc)kp
  5215. 1 setTxMode
  5216. 0 fs
  5217. 12 fz
  5218. bu fc
  5219. 2 F /|______Times-Roman fnt
  5220. bn
  5221. (25)show
  5222. 93 81 gm
  5223. 0.95840 0. 32 0.09584 0.(CanvasController for its controller.  The CanvasViews are each given a size such that the)awidthshow
  5224. 117 81 gm
  5225. -0.05563 0.(canvases placed side by side fill the entire application window.  A FoibleManager is the model)ashow
  5226. 141 81 gm
  5227. -0.09729 0.(for the picture in each canvas.)ashow
  5228. 0 0 gm
  5229. (nc 192 138 508 474 6 rc)kp
  5230. T 336 81 138 192 44 336 81 T 0 db
  5231. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5232. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5233. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5234. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5235. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5236. 000000001FFFFFFFFFFFFFC00000000000000000000000000000000000000000000000000000000000000000
  5237. 0000000010000000000000400000000000000000000000000000000000000000000000000000000000000000
  5238. 0000000010000000000000400000000000000000000000000000000000000000000000000000000000000000
  5239. 0000000010000000000000400000000000000000000000000000000000000000000000000000000000000000
  5240. 0000000011FC8000073900400000000000000000000000000000000000000000000000000000000000000000
  5241. 0000000010858000022010400000000000000000000000000000000000000000000000000000000000000000
  5242. 0000000010808000024010400000000000000000000000000000000000000000000000000000000000000000
  5243. 000000001088863EE28138400000000000000000000000000000000000000000000000000000000000000000
  5244. 0000000010F88914430310400000000000000000000000000000000000000000000000000000000000000000
  5245. 0000000010889094428110400000000000000000000000000000000000000000000000000000000000000000
  5246. 000000001080908A824110400000000000000000000000000000000000000000000000000000000000000000
  5247. 000000001080908A822110400000000000000000000000000000000000000000000000000000000000000000
  5248. 0000000010808905021114400000000000000000000000000000000000000000000000000000000000000000
  5249. 0000000011C1C605073B88400000000000000000000000000000000000000000000000000000000000000000
  5250. 0000000010000000000000400000000000000000000000000000000000000000000000000000000000000000
  5251. 0000000010000000000000400000000000000000000000000000000000000000000000000000000000000000
  5252. 0000000010000000000000400000000000000000000000000000000000000000000000000000000000000000
  5253. 0000000010000000000000400000000000000000000000000000000000000000000000000000000000000000
  5254. 03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00000
  5255. 0200000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5256. 02FFFFFFD0400000000000000000000000000000000000000000000000000000000000000000000000200000
  5257. 0280000050400000000000000000000000000000000000000000000000000000000000000000000000200000
  5258. 0280000050A00000000000000000000000000000000000000000000000000000000000000000000000200000
  5259. 0280000050A00000000000000000000000000000000000000000000000000000000000000000000000200000
  5260. 0280000051100000000000000000000000000000000000000000000000000000000000000000000000200000
  5261. 0280000051F00000000000000000000000000000000000000000000000000000000000000000000000200000
  5262. 028001F052080000000000000000000000000000000000000000000000000000000000000000000000200000
  5263. 02800308531C0000000000000000000000000000000000000000000000000000000000000000000000200000
  5264. 02E3FE0650000000000000000000000000000000000000000000000000000000000000000000000000200000
  5265. 02E404815007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00200000
  5266. 02E3FCE0D0040000000000000000000000000000000000000000000000000000000000000000000400200000
  5267. 0280154050047C00000000000000000000000000000000000000000000000000000000000000000400200000
  5268. 028013A050042200000000000000000000000000000000000000000000000000000000000000000400200000
  5269. 0280102050042200000000000000000000000000000000000000000000000000000000000000000400200000
  5270. 02800FE050043C00000000000000000000000000000000000000000000000000000000000000000400200000
  5271. 0280082050042200000000000000000000000000000000000000000000000000000000000000000400200000
  5272. 028007C0D0042200000000000000000000000000000000000000000000000000000000000000000400200000
  5273. 0280042350042200000000000000000000000000000000000000000000000000000000000000000400200000
  5274. 028003FC50047C00000000000000000000000000000000000000000000000000000000000000000400200000
  5275. 0280000050040000000000000000000000000000000000000000000000000000000000000000000400200000
  5276. 028000005004007FFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000400200000
  5277. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5278. 0280000050040043A0000000000000000000000000020027C000000000000000000000000001000400200000
  5279. 0280000050040044600000000000000000000000000200222000000000000000000000000001000400200000
  5280. 0280000050040048200000000000000000000000000200221000000000000000000000000001000400200000
  5281. 02FFFFFFD0040048000000000000000000000000000200221000000000000000000000000001000400200000
  5282. 0200000010040048000000000000000000000000000200221000000000000000000000000001000400200000
  5283. 02FFFFFFD0040048200000000000000000000000000200221000000000000000000000000001000400200000
  5284. 0280000050040044400000000000000000000000000200222000000000000000000000000001000400200000
  5285. 028000005004004380000000000000000000000000020027C000000000000000000000000001000400200000
  5286. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5287. 0280060050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5288. 028039C050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5289. 0280492050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5290. 0280493050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5291. 0280492850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5292. 0280492850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5293. 0283402850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5294. 0284C00850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5295. 0284400850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5296. 0282001050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5297. 0281001050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5298. 0280802050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5299. 0280402050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5300. 0280204050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5301. 0280204050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5302. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5303. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5304. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5305. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5306. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5307. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5308. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5309. 0200000010040040000000000000000000000000000200200000000000000000000000000001000400200000
  5310. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5311. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5312. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5313. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5314. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5315. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5316. T 336 79 138 273 44 336 79 T 0 db
  5317. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5318. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5319. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5320. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5321. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5322. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5323. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5324. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5325. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5326. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5327. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5328. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5329. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5330. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5331. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5332. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5333. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5334. 0283000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5335. 0283FFE050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5336. 0283FFE050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5337. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5338. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5339. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5340. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5341. 0200000010040040000000000000000000000000000200200000000000000000000000000001000400200000
  5342. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5343. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5344. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5345. 028F0E0050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5346. 02808F0050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5347. 02805F8050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5348. 028073C050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5349. 0280C9E050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5350. 028124F050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5351. 0282927850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5352. 0282493C50040040000000000000000000000000000200200000000000000000000000000001000400200000
  5353. 0285249E50040040000000000000000000000000000200200000000000000000000000000001000400200000
  5354. 0284924E50040040000000000000000000000000000200200000000000000000000000000001000400200000
  5355. 029A492850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5356. 029D249850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5357. 029E925050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5358. 028F493050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5359. 0287A4A050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5360. 0283D24050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5361. 0281E98050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5362. 0280F70050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5363. 02807C0050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5364. 02803C0050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5365. 0280180050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5366. 0280000050040040007FFFFFF800000000000000000200200000000000000000000000000001000400200000
  5367. 02FFFFFFD0040040004000000800000000000000000200200000000000000000000000000001000400200000
  5368. 0200000010040040005FFFFFC800000000000000000200200000000000000000000000000001000400200000
  5369. 0200000010040040005000004800000000000000000200200000000000000000000000000001000400200000
  5370. 02FFFFFFD0040040005300004800000000000000000200200000000000000000000000000001000400200000
  5371. 02FFFFFFD0040040005480004800000000000000000200207FFFE00000000000000000000001000400200000
  5372. 02FFFFFFD0040040005080004800000000000000000200205332A01100440000000000000001000400200000
  5373. 02FFFFFFD0040040005300004800000000000000000200205112A00880220000000000000001000400200000
  5374. 02FFFFFFD0040040005080004800000000000000000200205333BFE47F91E000000000000001000400200000
  5375. 02FFFFFFD0040040005480004800000000000000000200205210A00880222000000000000001000400200000
  5376. 02E1FFFFD0040040005300004800000000000000000200205330A01100442000000000000001000400200000
  5377. 02EC3FFFD0040040005000004800000000000000000200207FFFE00000002000000000000001000400200000
  5378. 02EF87FFD0040040005FFFFFC800000000000000000200200000000000002000000000000001000400200000
  5379. 02EFF0FFD0040040004000000800000000000000000200200000000000002000000000000001000400200000
  5380. 02EFFE1FD0040040004000000800000000000000000200200000000000002000000000000001000400200000
  5381. 02EFFFC7D0040040007FFFFFF800000000000000000200200000000000002000000000000001000400200000
  5382. 02EFFFF1D0040040000000000000000000000000000200200000000000002000000000000001000400200000
  5383. 02EFFFC7D0040040000000000000000000000000000200200000000000002000000000000001000400200000
  5384. 02EFFE1FD004004000000000000000000FFFFFFF000200200000000000002000000000000001000400200000
  5385. 02EFF0FFD0040040000000000000000008000001000200200000000000008800000000000001000400200000
  5386. 02EF87FFD004004000000000000000000BFFFFFD000200200000000000075000000000000001000400200000
  5387. 02EC3FFFD004004000000000000000000A00000500020020000000000004E000000000000001000400200000
  5388. 02E1FFFFD004004000000000000000000A000005000200200000000000041C00000000000001000400200000
  5389. 02FFFFFFD004004000000000000000000AF000050002002000000000000403800000003FFFF1000400200000
  5390. 02FFFFFFD004004000000000000000000A900005000200200000000000042070044044299951000400200000
  5391. 02FFFFFFD004004000000000000000000A10000500020020000000000004200E022022288951000400200000
  5392. 02FFFFFFD004004000000000000000000A20000500020020000000000004F801F91F91E999D1000400200000
  5393. 02FFFFFFD004004000000000000000000A20000500020020000000000004200E022022290851000400200000
  5394. 02FFFFFFD004004000000000000000000A400005000200200000000000042070044044299851000400200000
  5395. 020000001004004000000000000000000A4000050002002000000000000403800000003FFFF1000400200000
  5396. 020000001004004000000000000000000A000005000200200000000000041C00000000000001000400200000
  5397. 02FFFFFFD004004000000000000000000BFFFFFD00020020000000000004E000000000000001000400200000
  5398. 0280000050040040000000000000000008000001000200200000000000075000000000000001000400200000
  5399. 028000005004004000000000000000000FFFFFFF000200200000000000008800000000000001000400200000
  5400. T 336 79 138 352 44 336 79 T 0 db
  5401. 020000001004004000000000000000000A000005000200200000000000041C00000000000001000400200000
  5402. 02FFFFFFD004004000000000000000000BFFFFFD00020020000000000004E000000000000001000400200000
  5403. 0280000050040040000000000000000008000001000200200000000000075000000000000001000400200000
  5404. 028000005004004000000000000000000FFFFFFF000200200000000000008800000000000001000400200000
  5405. 0280080050040040000000000000000000000000000200200000000000002000000000000001000400200000
  5406. 0287FFF850040040000000000000000000000000000200200000000000002000000000000001000400200000
  5407. 0287FFF850040040000000000000000000000000000200200000000000002000000000000001000400200000
  5408. 0284080850040040003FFFFFFC00000000000000000200200000000000002000000000000001000400200000
  5409. 0284080850040040002000000400000000000000000200200000000000002000000000000001000400200000
  5410. 0284080850040040002FFFFFE400000000000000000200200000000000002000000000000001000400200000
  5411. 028C080C50040040002800002400000000000000000200200000000000002000000000000001000400200000
  5412. 0292081250040040002840002400000000000000000200203FFFF00000002000000000000001000400200000
  5413. 02920812500400400028C0002400000000000000000200202999501100442000000000000001000400200000
  5414. 02A1082150040040002940002400000000000000000200202889500880222000000000000001000400200000
  5415. 02A1082150040040002A40002400000000000000000200202999DFE47F91E000000000000001000400200000
  5416. 02A1082150040040002BC0002400000000000000000200202908500880220000000000000001000400200000
  5417. 02BF083F50040040002840002400000000000000000200202998501100440000000000000001000400200000
  5418. 0292081250040040002840002400000000000000000200203FFFF00000000000000000000001000400200000
  5419. 028C080C50040040002800002400000000000000000200200000000000000000000000000001000400200000
  5420. 0280080050040040002FFFFFE400000000000000000200200000000000000000000000000001000400200000
  5421. 0280080050040040002000000400000000000000000200200000000000000000000000000001000400200000
  5422. 0280080050040040002000000400000000000000000200200000000000000000000000000001000400200000
  5423. 0280FF8050040040003FFFFFFC00000000000000000200200000000000000000000000000001000400200000
  5424. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5425. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5426. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5427. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5428. 0200000010040040000000000000000000000000000200200000000000000000000000000001000400200000
  5429. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5430. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5431. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5432. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5433. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5434. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5435. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5436. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5437. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5438. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5439. 02A1EFDE50040040000000000000000000000000000200200000000000000000000000000001000400200000
  5440. 02A1285050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5441. 02A1285050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5442. 02A1285050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5443. 02A12B5050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5444. 02A1295050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5445. 02BDEFDE50040040000000000000000000000000000200200000000000000000000000000001000400200000
  5446. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5447. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5448. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5449. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5450. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5451. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5452. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5453. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5454. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5455. 0200000010040040000000000000000000000000000200200000000000000000000000000001000400200000
  5456. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5457. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5458. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5459. 0280FF8050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5460. 0281084050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5461. 0282082050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5462. 0284003050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5463. 02887F6850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5464. 029080C450040040000000000000000000000000000200200000000000000000000000000001000400200000
  5465. 02A13F4250040040000000000000000000000000000200200000000000000000000000000001000400200000
  5466. 02A2412250040040000000000000000000000000000200200000000000000000000000000001000400200000
  5467. 02A280A250040040000000000000000000000000000200200000000000000000000000000001000400200000
  5468. 02BA80AE50040040000000000000000000000000000200200000000000000000000000000001000400200000
  5469. 02A280A250040040000000000000000000000000000200200000000000000000000000000001000400200000
  5470. 02A2C1A250040040000000000000000000000000000200200000000000000000000000000001000400200000
  5471. 02A13F4250040040000000000000000000000000000200200000000000000000000000000001000400200000
  5472. 0290808450040040000000000000000000000000000200200000000000000000000000000001000400200000
  5473. 02887F0850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5474. 0284001050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5475. 0282082050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5476. 0281084050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5477. 0280FF8050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5478. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5479. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5480. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5481. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5482. 0200000010040040000000000000000000000000000200200000000000000000000000000001000400200000
  5483. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5484. T 336 79 138 431 44 336 79 T 0 db
  5485. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5486. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5487. 0200000010040040000000000000000000000000000200200000000000000000000000000001000400200000
  5488. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5489. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5490. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5491. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5492. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5493. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5494. 02BFFFFF50040040000000000000000000000000000200200000000000000000000000000001000400200000
  5495. 02A0000150040040000000000000000000000000000200200000000000000000000000000001000400200000
  5496. 02A0000150040040000000000000000000000000000200200000000000000000000000000001000400200000
  5497. 02A03F0150040040000000000000000000000000000200200000000000000000000000000001000400200000
  5498. 02A0C4C150040040000000000000000000000000000200200000000000000000000000000001000400200000
  5499. 02A1042150040040000000000000000000000000000200200000000000000000000000000001000400200000
  5500. 02A3003150040040000000000000000000000000000200200000000000000000000000000001000400200000
  5501. 02A2805150040040000000000000000000000000000200200000000000000000000000000001000400200000
  5502. 02A4000950040040000000000000000000000000000200200000000000000000000000000001000400200000
  5503. 02A4018950040040000000000000000000000000000200200000000000000000000000000001000400200000
  5504. 02A8018550040040000000000000000000000000000200200000000000000000000000000001000400200000
  5505. 02AE021D50040040000000000000000000000000000200200000000000000000000000000001000400200000
  5506. 02A8040550040040000000000000000000000000000200200000000000000000000000000001000400200000
  5507. 02AFFFFD50040040000000000000000000000000000200200000000000000000000000000001000400200000
  5508. 02A0000150040040000000000000000000000000000200200000000000000000000000000001000400200000
  5509. 02BFFFFF50040040000000000000000000000000000200200000000000000000000000000001000400200000
  5510. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5511. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5512. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5513. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5514. 0200000010040040000000000000000000000000000200200000000000000000000000000001000400200000
  5515. 02FFFFFFD0040040000000000000000000000000000200200000000000000000000000000001000400200000
  5516. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5517. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5518. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5519. 0280000050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5520. 02801F0050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5521. 028060C050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5522. 0281803050040040000000000000000000000000000200200000000000000000000000000001000400200000
  5523. 0282000850040040000000000000000000000000000200200000000000000000000000000001000400200000
  5524. 0284000450040040000000000000000000000000000200200000000000000000000000000001000400200000
  5525. 0284000450040040000000000000000000000000000200200000000000000000000000000001000400200000
  5526. 0288000250040040000000000000000000000000000200200000000000000000000000000001000400200000
  5527. 0288000250040040000000000000000000000000000200200000000000000000000000000001000400200000
  5528. 0288000250040040000000000000000000000000000200200000000000000000000000000001000400200000
  5529. 0288000250040040000000000000000000000000000200200000000000000000000000000001000400200000
  5530. 028800025004007FFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000400200000
  5531. 0288000250040000000000000000000000000000000000000000000000000000000000000000000400200000
  5532. 0280000450040000000000000000000000000000000000000000000000000000000000000000000400200000
  5533. 0280000450040000000000000000000000000000000000000000000000000000000000000000000400200000
  5534. 0283C00850040000000000000000000000000000000000000000000000000000000000000000000400200000
  5535. 0283003050040000000000000000000000000000000000000000000000000000000000000000000400200000
  5536. 0282C0C050040000000000000000000000000000000000000000000000000000000000000000000400200000
  5537. 02823F0050040000000000000000000000000000000000000000000000000000000000000000000400200000
  5538. 0280000050040000000000000000000000000000000000000000000000000000000000000000000400200000
  5539. 0280000050040000000000000000000000000000000000000000000000000000000000000000000400200000
  5540. 02FFFFFFD0040000000000000000000000000000000000000000000000000000000000000000000400200000
  5541. 0200000010040000000000000000000000000000000000000000000000000000000000000000000400200000
  5542. 03FFFFFFF0040000000000000000000000000000000000000000000000000000000000000000000400200000
  5543. 0000000010040000000000000000000000000000000000000000000000000000000000000000000400200000
  5544. 000000001007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00200000
  5545. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5546. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5547. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5548. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5549. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5550. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5551. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5552. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5553. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5554. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5555. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5556. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5557. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5558. 0000000010000000000000000000000000000000000000000000000000000000000000000000000000200000
  5559. 000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00000
  5560. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5561. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5562. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5563. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5564. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5565. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5566. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5567. 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5568. 541 197 gm
  5569. (nc 32 30 762 582 6 rc)kp
  5570. bu fc
  5571. 2 F /|______Times-Roman fnt
  5572. bn
  5573. -0.04438 0.(Figure 3.3  The views relationship in FlowKit)ashow
  5574. 577 81 gm
  5575. -0.07237 0.(The MVC components for each of the parts shown in figure 3.3 is:)ashow
  5576. 613 130 gm
  5577. -0.33174 0.(Model)ashow
  5578. 613 274 gm
  5579. -0.32872 0.(View)ashow
  5580. 613 423 gm
  5581. -0.14649 0.(Controller)ashow
  5582. 631 81 gm
  5583. 0.33688 0.(A.)ashow
  5584. 631 117 gm
  5585. -0.08183 0.(FoibleProgram)ashow
  5586. 631 261 gm
  5587. -0.18345 0.(FoibleView)ashow
  5588. 631 405 gm
  5589. -0.09999 0.(StandardSystemController)ashow
  5590. 649 81 gm
  5591. 0.99601 0.(B.)ashow
  5592. 649 117 gm
  5593. -0.08183 0.(FoibleProgram)ashow
  5594. 649 261 gm
  5595. -0.19221 0.(ToolBenchView)ashow
  5596. 649 405 gm
  5597. -0.18557 0.(PaletteController)ashow
  5598. 667 81 gm
  5599. 0.99601 0.(C.)ashow
  5600. 667 117 gm
  5601. -0.17723 0.(FoibleManager1)ashow
  5602. 667 261 gm
  5603. -0.13095 0.(CanvasView1)ashow
  5604. 667 405 gm
  5605. -0.10261 0.(CanvasController1)ashow
  5606. 685 81 gm
  5607. 0.33688 0.(D.)ashow
  5608. 685 117 gm
  5609. -0.17723 0.(FoibleManager2)ashow
  5610. 685 261 gm
  5611. -0.13095 0.(CanvasView2)ashow
  5612. 685 405 gm
  5613. -0.10261 0.(CanvasController2)ashow
  5614. F T cp
  5615. %%Page: ? 30
  5616. op
  5617. 32 30 xl
  5618. 1 1 pen
  5619. 735 300 gm
  5620. (nc 32 30 762 582 6 rc)kp
  5621. 1 setTxMode
  5622. 0 fs
  5623. 12 fz
  5624. bu fc
  5625. 2 F /|______Times-Roman fnt
  5626. bn
  5627. (26)show
  5628. 129 81 gm
  5629. 1 fs
  5630. bu fc
  5631. 2 F /|______Times-Bold fnt
  5632. bn
  5633. 1.79997 0.(3.2.2.)ashow
  5634. 129 153 gm
  5635. 2.96066 0. 32 0.29606 0.(Second level MVC)awidthshow
  5636. 165 81 gm
  5637. 0 fs
  5638. bu fc
  5639. 2 F /|______Times-Roman fnt
  5640. bn
  5641. 1.53732 0. 32 0.15373 0.(The second level of MVC in FOIBLE controls the entire window that an application is)awidthshow
  5642. 189 81 gm
  5643. -0.00543 0.(contained in.  It was needed to manage the palette as well as handle the possibility of multiple)ashow
  5644. 213 81 gm
  5645. 0.04518 0.(canvases.)ashow
  5646. 273 81 gm
  5647. 1 fs
  5648. bu fc
  5649. 2 F /|______Times-Bold fnt
  5650. bn
  5651. 1.71426 0.(3.2.2.1.)ashow
  5652. 273 153 gm
  5653. 0.50247 0.(FoibleProgram)ashow
  5654. 309 81 gm
  5655. 0 fs
  5656. bu fc
  5657. 2 F /|______Times-Roman fnt
  5658. bn
  5659. -0.02493 0.(FoibleProgram is the top level and second level model of a FOIBLE program.  FoibleProgram)ashow
  5660. 333 81 gm
  5661. 1.36459 0. 32 0.13645 0.(is used to either start up a new application or read an application that is stored on disk.)awidthshow
  5662. 357 81 gm
  5663. 0.37490 0. 32 0.03749 0.(FoibleProgram manages the top level FoibleManagers, and handles storing its application to)awidthshow
  5664. 381 81 gm
  5665. 1.56402 0. 32 0.15640 0.(disk, and reading in applications from disk.  Each FoibleProgram stores a name, which)awidthshow
  5666. 405 81 gm
  5667. 0.79147 0. 32 0.07914 0.(appears in the title bar of the application window and is also used as a default name when)awidthshow
  5668. 429 81 gm
  5669. -0.03340 0.(storing the program.)ashow
  5670. 489 81 gm
  5671. 1 fs
  5672. bu fc
  5673. 2 F /|______Times-Bold fnt
  5674. bn
  5675. 1.71426 0.(3.2.2.2.)ashow
  5676. 489 153 gm
  5677. 0.72312 0.(ToolBenchView)ashow
  5678. 525 81 gm
  5679. 0 fs
  5680. bu fc
  5681. 2 F /|______Times-Roman fnt
  5682. bn
  5683. -0.12321 0.(ToolBenchView is the top level view in the MVC triad.  ToolBenchView manages the canvases)ashow
  5684. 549 81 gm
  5685. 1.45431 0. 32 0.14543 0.(in an application.  ToolBenchView also handles the selection of tools in the palette.  A)awidthshow
  5686. 573 81 gm
  5687. 0.46951 0. 32 0.04695 0.(ToolBenchView has a PaletteController as its controller.  PaletteController controls the tool)awidthshow
  5688. 597 81 gm
  5689. 1.40899 0. 32 0.14089 0.(selection from the palette of tool icons.  When a new tool is selected in the palette, the)awidthshow
  5690. 621 81 gm
  5691. -0.09088 0.(PaletteController informs its ToolBenchView, and the ToolBenchView in turn, informs each of)ashow
  5692. 645 81 gm
  5693. -0.10452 0.(its canvases to install the appropriate tool.)ashow
  5694. F T cp
  5695. %%Page: ? 31
  5696. op
  5697. 32 30 xl
  5698. 1 1 pen
  5699. 735 300 gm
  5700. (nc 32 30 762 582 6 rc)kp
  5701. 1 setTxMode
  5702. 0 fs
  5703. 12 fz
  5704. bu fc
  5705. 2 F /|______Times-Roman fnt
  5706. bn
  5707. (27)show
  5708. 93 81 gm
  5709. 1 fs
  5710. bu fc
  5711. 2 F /|______Times-Bold fnt
  5712. bn
  5713. 1.71426 0.(3.2.2.3.)ashow
  5714. 93 153 gm
  5715. 0.42025 0.(PaletteController)ashow
  5716. 129 81 gm
  5717. 0 fs
  5718. bu fc
  5719. 2 F /|______Times-Roman fnt
  5720. bn
  5721. 0.18798 0. 32 0.01879 0.(The palette on a FOIBLE application's window is implemented in the controller.  The palette)awidthshow
  5722. 153 81 gm
  5723. 1.10000 0. 32 0.11000 0.(was difficult to implement as a view because of the way View resizes things, so the best)awidthshow
  5724. 177 81 gm
  5725. 0.49713 0. 32 0.04971 0.(solution was to avoid having the palette be a View.  We borrowed this idea from a drawing)awidthshow
  5726. 201 81 gm
  5727. 2.08328 0. 32 0.20832 0.(package called HotDraw that was developed by Ward Cunningham and Kent Beck at)awidthshow
  5728. 225 81 gm
  5729. -0.03523 0.(Tektronix.)ashow
  5730. 261 81 gm
  5731. 1.03271 0. 32 0.10327 0.(The palette is implemented in the controller for the middle level MVC, PaletteController.)awidthshow
  5732. 285 81 gm
  5733. 0.98281 0. 32 0.09828 0.(PaletteController manages the palette and informs its ToolBenchView when a new tool is)awidthshow
  5734. 309 81 gm
  5735. 0.61050 0. 32 0.06105 0.(selected.  The palette is implemented much like a scroll bar.  PaletteController is, in fact, a)awidthshow
  5736. 333 81 gm
  5737. 1.30187 0. 32 0.13018 0.(subclass of ScrollController.  This allows the palette to remain a constant size while the)awidthshow
  5738. 357 81 gm
  5739. -0.08865 0.(application window can be resized.)ashow
  5740. 393 81 gm
  5741. 0.46356 0. 32 0.04635 0.(A scroll bar is normally used when a view cannot display all of its information.  Scroll bars)awidthshow
  5742. 417 81 gm
  5743. 0.46432 0. 32 0.04643 0.(allow the user to change which part of the information is displayed.  A scroll bar contains a)awidthshow
  5744. 441 81 gm
  5745. 0.51452 0. 32 0.05145 0.(marker that shows the user the relative size and position of the information that is currently)awidthshow
  5746. 465 81 gm
  5747. 1.24023 0. 32 0.12402 0.(displayed.  Scroll bars are implemented in the class ScrollController.  When the view of)awidthshow
  5748. 489 81 gm
  5749. 1.39251 0. 32 0.13925 0.(ScrollController is active and the cursor is in the view, the scroll bar is displayed.  The)awidthshow
  5750. 513 81 gm
  5751. -0.01957 0.(ScrollController takes control when the cursor is moved into the scroll bar area, and when any)ashow
  5752. 537 81 gm
  5753. -0.02653 0.(mouse button is pressed, the ScrollController calculates the new section of information that its)ashow
  5754. 561 81 gm
  5755. 0.69427 0. 32 0.06942 0.(view should display.  When a mouse button is pressed, ScrollController calculates the new)awidthshow
  5756. 585 81 gm
  5757. 2.17941 0. 32 0.21794 0.(information and sends a message to its view, asking it to display the new section of)awidthshow
  5758. 609 81 gm
  5759. 0.00701 0. 32 0.00070 0.(information, the view is updated, and the ScrollController updates the marker in the scroll bar)awidthshow
  5760. 633 81 gm
  5761. -0.09114 0.(to represent the new section of information that is displayed.)ashow
  5762. 669 81 gm
  5763. 0.18417 0. 32 0.01841 0.(PaletteController is used to control the tool that is active in an application.  It is a subclass of)awidthshow
  5764. 693 81 gm
  5765. -0.06454 0.(ScrollController because the palette behaves very much like a scroll bar.  When the cursor is in)ashow
  5766. F T cp
  5767. %%Page: ? 32
  5768. op
  5769. 32 30 xl
  5770. 1 1 pen
  5771. 735 300 gm
  5772. (nc 32 30 762 582 6 rc)kp
  5773. 1 setTxMode
  5774. 0 fs
  5775. 12 fz
  5776. bu fc
  5777. 2 F /|______Times-Roman fnt
  5778. bn
  5779. (28)show
  5780. 93 81 gm
  5781. 0.08804 0. 32 0.00880 0.(the scroll bar, the ScrollController is active, and it receives the mouse I/O, informing its view)awidthshow
  5782. 117 81 gm
  5783. -0.10560 0.(when to update.  The palette needs the exact same type of interaction.  When the cursor is in the)ashow
  5784. 141 81 gm
  5785. 0.99914 0. 32 0.09991 0.(palette, the PaletteController is active, and when the user clicks on an particular icon, the)awidthshow
  5786. 165 81 gm
  5787. -0.00175 0.(PaletteController informs its view \(a ToolBenchView\).  When a view is changed with a scroll)ashow
  5788. 189 81 gm
  5789. 0.10055 0. 32 0.01005 0.(bar, the marker is updated, and when a new tool is selected, the new tool's icon is highlighted)awidthshow
  5790. 213 81 gm
  5791. -0.02989 0.(in the palette.  Most of the methods in PaletteController are needed for display purposes, since)ashow
  5792. 237 81 gm
  5793. -0.12527 0.(the palette is more complicated to display than a scroll bar is.)ashow
  5794. 273 81 gm
  5795. 0.55999 0. 32 0.05599 0.(The early version of FOIBLE implemented the palette with a subview that contained icons.)awidthshow
  5796. 297 81 gm
  5797. 0.14038 0. 32 0.01403 0.(This did not work well, because it is important for a palette to remain the same size when the)awidthshow
  5798. 321 81 gm
  5799. 0.60302 0. 32 0.06030 0.(window that includes it grows or shrinks.  Smalltalk views are normally resized when their)awidthshow
  5800. 345 81 gm
  5801. 0.47500 0. 32 0.04750 0.(enclosing window is resized.  Handling a view that remains a constant size, like the palette,)awidthshow
  5802. 369 81 gm
  5803. 0.16067 0. 32 0.01606 0.(required reimplementing some of the View windowing methods.  This was not only complex)awidthshow
  5804. 393 81 gm
  5805. 3.27484 0. 32 0.32748 0.(and error prone, but also made the FOIBLE code less portable between different)awidthshow
  5806. 417 81 gm
  5807. -0.14181 0.(implementations of Smalltalk.)ashow
  5808. 453 81 gm
  5809. -0.00955 0.(Making the palette a controller also allows FOIBLE applications to be implemented without a)ashow
  5810. 477 81 gm
  5811. 0.52215 0. 32 0.05221 0.(palette, thus giving more flexibility in design to developers.  For example, Sh++, a "visual")awidthshow
  5812. 501 81 gm
  5813. 1.57699 0. 32 0.15769 0.(Unix shell, does not have a palette [Senn90].  The functionality is not limited, because)awidthshow
  5814. 525 81 gm
  5815. 0.18661 0. 32 0.01866 0.(Smalltalk allows the use of hierarchical menus.  Sh++ uses hierarchical menus to select from)awidthshow
  5816. 549 81 gm
  5817. 0.36376 0. 32 0.03637 0.(its wide variety of operations.  The class NoPaletteController is used by applications that do)awidthshow
  5818. 573 81 gm
  5819. -0.09611 0.(not use a palette.)ashow
  5820. F T cp
  5821. %%Page: ? 33
  5822. op
  5823. 32 30 xl
  5824. 1 1 pen
  5825. 735 300 gm
  5826. (nc 32 30 762 582 6 rc)kp
  5827. 1 setTxMode
  5828. 0 fs
  5829. 12 fz
  5830. bu fc
  5831. 2 F /|______Times-Roman fnt
  5832. bn
  5833. (29)show
  5834. 105 81 gm
  5835. 1 fs
  5836. bu fc
  5837. 2 F /|______Times-Bold fnt
  5838. bn
  5839. 1.79997 0.(3.2.3.)ashow
  5840. 105 153 gm
  5841. 2.39257 0. 32 0.23925 0.(Bottom Level MVC)awidthshow
  5842. 141 81 gm
  5843. 0 fs
  5844. bu fc
  5845. 2 F /|______Times-Roman fnt
  5846. bn
  5847. -0.09385 0.(FOIBLE was built on top of the MVC framework.  Although we can describe the framework in)ashow
  5848. 165 81 gm
  5849. 0.23254 0. 32 0.02325 0.(terms of MVC, FOIBLE was not strictly built as an MVC system.  In the following sections,)awidthshow
  5850. 189 81 gm
  5851. -0.08714 0.(we describe the objects that fill the roles of the models, views and controllers in FOIBLE.)ashow
  5852. 249 81 gm
  5853. 1 fs
  5854. bu fc
  5855. 2 F /|______Times-Bold fnt
  5856. bn
  5857. 1.71426 0.(3.2.3.1.)ashow
  5858. 249 153 gm
  5859. 0.44630 0.(FoibleManager)ashow
  5860. 285 81 gm
  5861. 0 fs
  5862. bu fc
  5863. 2 F /|______Times-Roman fnt
  5864. bn
  5865. -0.07160 0.(The model in a FOIBLE application is the picture that the user creates.  The picture in a canvas)ashow
  5866. 309 81 gm
  5867. 0.17166 0. 32 0.01716 0.(is made up of a number of Foibles, so a group of Foibles actually forms the MVC model in a)awidthshow
  5868. 333 81 gm
  5869. 1.23535 0. 32 0.12353 0.(canvas.  However, MVC is much easier to use if there is a single model, and a standard)awidthshow
  5870. 357 81 gm
  5871. -0.10626 0.(implementation trick in Smalltalk is to define an object to represent a set of objects.  This single)ashow
  5872. 381 81 gm
  5873. -0.07650 0.(object is then used as the model for the system.)ashow
  5874. 417 81 gm
  5875. 0.19943 0. 32 0.01994 0.(The class FoibleManager was created to be the single model for a canvas and is the model in)awidthshow
  5876. 441 81 gm
  5877. 0.84030 0. 32 0.08403 0.(the MVC triad.  A FoibleManager represents a set of Foibles in a canvas.  FoibleManager)awidthshow
  5878. 465 81 gm
  5879. 1.50863 0. 32 0.15086 0.(keeps an ordering of the links and boxes that it manages, allowing a 2 1/2 dimensional)awidthshow
  5880. 489 81 gm
  5881. 0.00778 0. 32 0.00077 0.(representation on the screen.  In a 2 1/2 dimensional representation, all of the images are two-)awidthshow
  5882. 513 81 gm
  5883. -0.01266 0.(dimensional, but when the images overlap, there is an ordering to the elements.  This ordering)ashow
  5884. 537 81 gm
  5885. 0.75637 0. 32 0.07563 0.(can be used for displaying the objects, as well as when a user is selecting an object on the)awidthshow
  5886. 561 81 gm
  5887. 0.06022 0.(screen.)ashow
  5888. 597 81 gm
  5889. 1.28524 0. 32 0.12852 0.(FoibleManagers and Tools are the only objects that can directly manipulate Foibles, and)awidthshow
  5890. 621 81 gm
  5891. 0.36193 0. 32 0.03619 0.(FoibleManagers actually do most of the manipulation.  Thus, FoibleManagers have protocol)awidthshow
  5892. 645 81 gm
  5893. 0.06286 0. 32 0.00628 0.(for modifying and deleting their Foibles.  FoibleManager is a subclass of DisplayObject, so it)awidthshow
  5894. 669 81 gm
  5895. -0.05767 0.(has methods for displaying its image.  A FoibleManager's image is really just a combination of)ashow
  5896. 693 81 gm
  5897. -0.11705 0.(the images of all the Foibles that it manages.)ashow
  5898. F T cp
  5899. %%Page: ? 34
  5900. op
  5901. 32 30 xl
  5902. 1 1 pen
  5903. 735 300 gm
  5904. (nc 32 30 762 582 6 rc)kp
  5905. 1 setTxMode
  5906. 0 fs
  5907. 12 fz
  5908. bu fc
  5909. 2 F /|______Times-Roman fnt
  5910. bn
  5911. (30)show
  5912. 129 81 gm
  5913. 1 fs
  5914. bu fc
  5915. 2 F /|______Times-Bold fnt
  5916. bn
  5917. 1.71426 0.(3.2.3.2.)ashow
  5918. 129 153 gm
  5919. 0.66806 0.(CanvasView)ashow
  5920. 165 81 gm
  5921. 0 fs
  5922. bu fc
  5923. 2 F /|______Times-Roman fnt
  5924. bn
  5925. -0.10223 0.(Each canvas in an application has a CanvasView to display its foibles.  CanvasView is the view)ashow
  5926. 189 81 gm
  5927. 0.06973 0. 32 0.00697 0.(in the MVC triad for each canvas, so it has protocol for displaying its area.  CanvasView also)awidthshow
  5928. 213 81 gm
  5929. 0.78430 0. 32 0.07843 0.(has protocol for installing a new tool.  The actions of the currently active tool are actually)awidthshow
  5930. 237 81 gm
  5931. -0.07920 0.(controlled by a CanvasController, which is the controller for a CanvasView.)ashow
  5932. 297 81 gm
  5933. 1 fs
  5934. bu fc
  5935. 2 F /|______Times-Bold fnt
  5936. bn
  5937. 1.71426 0.(3.2.3.3.)ashow
  5938. 297 153 gm
  5939. 0.46836 0.(CanvasController)ashow
  5940. 333 81 gm
  5941. 0 fs
  5942. bu fc
  5943. 2 F /|______Times-Roman fnt
  5944. bn
  5945. 1.17034 0. 32 0.11703 0.(The Tool class implements many of the operations that are performed in a canvas.  Tool)awidthshow
  5946. 357 81 gm
  5947. 0.42541 0. 32 0.04254 0.(behaves very much like a controller, in that it performs operations depending on user inputs)awidthshow
  5948. 381 81 gm
  5949. 0.49713 0. 32 0.04971 0.(such as mouse clicks, menu selections and keyboard input.  Tool, however, is not the MVC)awidthshow
  5950. 405 81 gm
  5951. -0.03742 0.(controller in a canvas.  The actions of a Tool are managed by a CanvasController, which is the)ashow
  5952. 429 81 gm
  5953. -0.08847 0.(controller in a canvas.)ashow
  5954. 465 81 gm
  5955. 0.34103 0. 32 0.03410 0.(CanvasController is the MVC controller for a canvas.  CanvasController is really an adaptor)awidthshow
  5956. 489 81 gm
  5957. 0.48828 0. 32 0.04882 0.(that allows a consistent interface for Tools and also provides an interface for Tools to share)awidthshow
  5958. 513 81 gm
  5959. 0.26123 0. 32 0.02612 0.(information.  ToolController uses Tools to respond to mouse movements and button presses.)awidthshow
  5960. 537 81 gm
  5961. -0.05104 0.(Thus, most of the CanvasController methods implement handling the cursor and menus for the)ashow
  5962. 561 81 gm
  5963. 0.04577 0. 32 0.00457 0.(currently active Tool in its canvas.  When the cursor is in its canvas the CanvasController has)awidthshow
  5964. 585 81 gm
  5965. 0.92971 0. 32 0.09297 0.(control, and it converts most of the cursor, mouse, and menu actions into messages to the)awidthshow
  5966. 609 81 gm
  5967. -0.05303 0.(current Tool.)ashow
  5968. F T cp
  5969. %%Page: ? 35
  5970. op
  5971. 32 30 xl
  5972. 1 1 pen
  5973. 735 300 gm
  5974. (nc 32 30 762 582 6 rc)kp
  5975. 1 setTxMode
  5976. 0 fs
  5977. 12 fz
  5978. bu fc
  5979. 2 F /|______Times-Roman fnt
  5980. bn
  5981. (31)show
  5982. 104 201 gm
  5983. 1 fs
  5984. 14 fz
  5985. bu fc
  5986. 2 F /|______Times-Bold fnt
  5987. bn
  5988. 3.28475 0. 32 0.32847 0.(Chapter 4.)awidthshow
  5989. 104 309 gm
  5990. 0.41275 0.(Implementation)ashow
  5991. 141 81 gm
  5992. 12 fz
  5993. bu fc
  5994. 2 F /|______Times-Bold fnt
  5995. bn
  5996. 1.99996 0.(4.1.)ashow
  5997. 141 117 gm
  5998. 0.80094 0.(Foible)ashow
  5999. 177 81 gm
  6000. 0 fs
  6001. bu fc
  6002. 2 F /|______Times-Roman fnt
  6003. bn
  6004. 0.3125 0. 32 0.03125 0.(Foible is the abstract class of the two main components of a FOIBLE application, boxes and)awidthshow
  6005. 201 81 gm
  6006. 0.27359 0. 32 0.02735 0.(links.  A Foible has a set of forms that make up its image.  It displays itself by displaying its)awidthshow
  6007. 225 81 gm
  6008. 0.10177 0. 32 0.01017 0.(forms.  The creation of forms is left to subclasses, but Foible implements methods for storing)awidthshow
  6009. 249 81 gm
  6010. -0.08238 0.(and displaying its image.)ashow
  6011. 285 81 gm
  6012. 0.23239 0. 32 0.02323 0.(A Foible stores its forms and the boundingBox of the forms.  The boundingBox of the forms)awidthshow
  6013. 309 81 gm
  6014. -0.09185 0.(is computed and stored the first time that the boundingBox is accessed.  After the boundingBox)ashow
  6015. 333 81 gm
  6016. 1.76467 0. 32 0.17646 0.(has been computed, the stored value is used until the image is modified in some way.)awidthshow
  6017. 357 81 gm
  6018. 0.36880 0. 32 0.03688 0.(Changing a Foible's image or location invalidates the stored boundingBox.  Thus, it is set to)awidthshow
  6019. 381 81 gm
  6020. 1.21063 0. 32 0.12106 0.(nil, and the next time the Foible is sent the )awidthshow
  6021. 2 fs
  6022. bu fc
  6023. {}mark T /Times-Italic /|______Times-Italic 0 rf
  6024. bn
  6025. bu fc
  6026. 2 F /|______Times-Italic fnt
  6027. bn
  6028. 0.49681 0.(boundingBox)ashow
  6029. 0 fs
  6030. bu fc
  6031. 2 F /|______Times-Roman fnt
  6032. bn
  6033. 1.83105 0. 32 0.18310 0.( message, the boundingBox is)awidthshow
  6034. 405 81 gm
  6035. 0.61340 0. 32 0.06134 0.(recalculated and stored again.  Storing the boundingBox saves the time of recalculating the)awidthshow
  6036. 429 81 gm
  6037. 0.10116 0. 32 0.01011 0.(boundingBox each time that it is needed.  This is especially important for a FoibleLink, since)awidthshow
  6038. 453 81 gm
  6039. -0.06181 0.(its image may consist of a number of forms.)ashow
  6040. 489 81 gm
  6041. 1.81228 0. 32 0.18122 0.(Most visual programming systems provide direct manipulation of the program.  Direct)awidthshow
  6042. 513 81 gm
  6043. 0.28152 0. 32 0.02815 0.(manipulation allows the user to interactively create and edit the visual program.  In FOIBLE)awidthshow
  6044. 537 81 gm
  6045. 0.24291 0. 32 0.02429 0.(applications, users can interactively move the boxes and links in a canvas, as well as edit the)awidthshow
  6046. 561 81 gm
  6047. 0.02807 0. 32 0.00280 0.(image of the links.  Most of the interaction relies on the use of a mouse and a cursor, which is)awidthshow
  6048. 585 81 gm
  6049. -0.06770 0.(used to point to a particular object or area on the screen.  In a system like this, it is important to)ashow
  6050. 609 81 gm
  6051. -0.02287 0.(be able to determine when the cursor is pointing to a particular object, and Foible has protocol)ashow
  6052. 633 81 gm
  6053. -0.09126 0.(for determining if the cursor is pointing to its image.)ashow
  6054. 669 81 gm
  6055. -0.11930 0.(Foible access protocol:)ashow
  6056. 693 81 gm
  6057. 1 fs
  6058. bu fc
  6059. 2 F /|______Times-Bold fnt
  6060. bn
  6061. 3.56277 0. 32 0.35627 0.(containsPoint: aPoint)awidthshow
  6062. 693 261 gm
  6063. 0 fs
  6064. bu fc
  6065. 2 F /|______Times-Roman fnt
  6066. bn
  6067. -0.09666 0.(return true if any of my forms contain aPoint)ashow
  6068. F T cp
  6069. %%Page: ? 36
  6070. op
  6071. 32 30 xl
  6072. 1 1 pen
  6073. 735 300 gm
  6074. (nc 32 30 762 582 6 rc)kp
  6075. 1 setTxMode
  6076. 0 fs
  6077. 12 fz
  6078. bu fc
  6079. 2 F /|______Times-Roman fnt
  6080. bn
  6081. (32)show
  6082. 93 81 gm
  6083. 0.70434 0. 32 0.07043 0.(There are a number of messages that any component of a visual program must understand.)awidthshow
  6084. 117 81 gm
  6085. 2.02423 0. 32 0.20242 0.(Foible declares some methods that are left to be implemented by its subclasses.  The)awidthshow
  6086. 141 81 gm
  6087. 0.91720 0. 32 0.09172 0.(implementation of these methods may vary in the particular system being implemented or)awidthshow
  6088. 165 81 gm
  6089. 0.61630 0. 32 0.06163 0.(between each type of Foible, so the developer of a system may have to implement some of)awidthshow
  6090. 189 81 gm
  6091. -0.10511 0.(these methods.  These are the methods that define the semantics of an application.)ashow
  6092. 225 81 gm
  6093. 1.07315 0. 32 0.10731 0.(Some Foible methods are left to be implemented in subclasses because of the differences)awidthshow
  6094. 249 81 gm
  6095. 0.12359 0. 32 0.01235 0.(between boxes and links.  Each Foible has a name, but a box is assigned a name, while a link)awidthshow
  6096. 273 81 gm
  6097. 1.54159 0. 32 0.15415 0.(calculates its name.  Most Foibles can be removed from the system, but when a box is)awidthshow
  6098. 297 81 gm
  6099. -0.08334 0.(removed, the links connected to it must also be removed.)ashow
  6100. 333 81 gm
  6101. 0.05065 0. 32 0.00506 0.(Foibles must also understand interface messages.  A Tool sends interface messages when it is)awidthshow
  6102. 357 81 gm
  6103. 0.44677 0. 32 0.04467 0.(performing an operation on a Foible.  For example, a Tool that is creating a link looks for a)awidthshow
  6104. 381 81 gm
  6105. 1.11404 0. 32 0.11140 0.(box that can give an output link.  When it selects a Foible, it sends the )awidthshow
  6106. 2 fs
  6107. bu fc
  6108. 2 F /|______Times-Italic fnt
  6109. bn
  6110. 0.43165 0.(givesDataLinks:)ashow
  6111. 405 81 gm
  6112. 0 fs
  6113. bu fc
  6114. 2 F /|______Times-Roman fnt
  6115. bn
  6116. -0.08462 0.(message to the Foible to determine if it can give an output link at the specified point.  Although)ashow
  6117. 429 81 gm
  6118. 0.00427 0. 32 0.00042 0.(it may not seem intuitive, a FoibleLink must also be able to respond to this message, in case a)awidthshow
  6119. 453 81 gm
  6120. 0.84503 0. 32 0.08450 0.(user attempts to add a link to a FoibleLink.  Other interface methods that all Foibles must)awidthshow
  6121. 477 81 gm
  6122. -0.04869 0.(understand include determining if a Foible can be moved, copied, or deleted.  All Foibles must)ashow
  6123. 501 81 gm
  6124. -0.02638 0.(also be able to calculate and send a value.  It is impossible to implement generic value passing)ashow
  6125. 525 81 gm
  6126. -0.02268 0.(protocol, so it is also left to subclasses.)ashow
  6127. 561 81 gm
  6128. -0.10295 0.(Foible protocol for access \(the default is true for all of these methods\):)ashow
  6129. 585 81 gm
  6130. 1 fs
  6131. bu fc
  6132. 2 F /|______Times-Bold fnt
  6133. bn
  6134. 0.60079 0.(canBeCopied)ashow
  6135. 585 225 gm
  6136. 0 fs
  6137. bu fc
  6138. 2 F /|______Times-Roman fnt
  6139. bn
  6140. -0.05393 0.(return whether or not I can be copied at a user's request)ashow
  6141. 609 81 gm
  6142. 1 fs
  6143. bu fc
  6144. 2 F /|______Times-Bold fnt
  6145. bn
  6146. 0.54846 0.(canBeDeleted)ashow
  6147. 609 225 gm
  6148. 0 fs
  6149. bu fc
  6150. 2 F /|______Times-Roman fnt
  6151. bn
  6152. -0.06455 0.(return whether or not I can be deleted at a user's request)ashow
  6153. 633 81 gm
  6154. 1 fs
  6155. bu fc
  6156. 2 F /|______Times-Bold fnt
  6157. bn
  6158. 0.49220 0.(canMoveIndependently)ashow
  6159. 633 225 gm
  6160. 0 fs
  6161. bu fc
  6162. 2 F /|______Times-Roman fnt
  6163. bn
  6164. -0.04895 0.(return whether or not I can be moved at a user's request)ashow
  6165. 657 81 gm
  6166. 1 fs
  6167. bu fc
  6168. 2 F /|______Times-Bold fnt
  6169. bn
  6170. 0.51170 0.(canMoveDependently)ashow
  6171. 657 225 gm
  6172. 0 fs
  6173. bu fc
  6174. 2 F /|______Times-Roman fnt
  6175. bn
  6176. -0.08547 0.(return whether or not I can be moved when I am inside of a)ashow
  6177. 675 225 gm
  6178. -0.13198 0.(complex box)ashow
  6179. F T cp
  6180. %%Page: ? 37
  6181. op
  6182. 32 30 xl
  6183. 1 1 pen
  6184. 735 300 gm
  6185. (nc 32 30 762 582 6 rc)kp
  6186. 1 setTxMode
  6187. 0 fs
  6188. 12 fz
  6189. bu fc
  6190. 2 F /|______Times-Roman fnt
  6191. bn
  6192. (33)show
  6193. 93 81 gm
  6194. -0.08222 0.(Foible subclass protocol:)ashow
  6195. 117 81 gm
  6196. 1 fs
  6197. bu fc
  6198. 2 F /|______Times-Bold fnt
  6199. bn
  6200. 3.14132 0. 32 0.31413 0.(acceptsDataLinks: aPoint)awidthshow
  6201. 117 261 gm
  6202. 0 fs
  6203. bu fc
  6204. 2 F /|______Times-Roman fnt
  6205. bn
  6206. -0.12225 0.(return whether I can have an incoming link at aPoint)ashow
  6207. 141 81 gm
  6208. 1 fs
  6209. bu fc
  6210. 2 F /|______Times-Bold fnt
  6211. bn
  6212. 3.66088 0. 32 0.36608 0.(givesDataLinks: aPoint)awidthshow
  6213. 141 261 gm
  6214. 0 fs
  6215. bu fc
  6216. 2 F /|______Times-Roman fnt
  6217. bn
  6218. -0.10931 0.(return whether I can have an outgoing link at aPoint)ashow
  6219. 165 81 gm
  6220. 1 fs
  6221. bu fc
  6222. 2 F /|______Times-Bold fnt
  6223. bn
  6224. 3.68881 0. 32 0.36888 0.(connectedTo: aFoible)awidthshow
  6225. 165 261 gm
  6226. 0 fs
  6227. bu fc
  6228. 2 F /|______Times-Roman fnt
  6229. bn
  6230. -0.11375 0.(return whether or not I am connected to aFoible)ashow
  6231. 189 81 gm
  6232. 1 fs
  6233. bu fc
  6234. 2 F /|______Times-Bold fnt
  6235. bn
  6236. 2.23449 0. 32 0.22344 0.(name, name: aName)awidthshow
  6237. 189 261 gm
  6238. 0 fs
  6239. bu fc
  6240. 2 F /|______Times-Roman fnt
  6241. bn
  6242. -0.14199 0.(variable access protocol)ashow
  6243. 213 81 gm
  6244. 1 fs
  6245. bu fc
  6246. 2 F /|______Times-Bold fnt
  6247. bn
  6248. 0.66726 0.(value)ashow
  6249. 213 261 gm
  6250. 0 fs
  6251. bu fc
  6252. 2 F /|______Times-Roman fnt
  6253. bn
  6254. -0.14050 0.(return my value)ashow
  6255. 237 81 gm
  6256. 1 fs
  6257. bu fc
  6258. 2 F /|______Times-Bold fnt
  6259. bn
  6260. 0.60571 0.(remove)ashow
  6261. 237 261 gm
  6262. 0 fs
  6263. bu fc
  6264. 2 F /|______Times-Roman fnt
  6265. bn
  6266. -0.10507 0.(remove myself from the system)ashow
  6267. 291 81 gm
  6268. -0.03106 0.(Foible is a subclass of DisplayObject, so all Foibles know how to display themselves.  Several)ashow
  6269. 315 81 gm
  6270. -0.10569 0.(of the standard display methods are reimplemented in Foible.)ashow
  6271. 351 81 gm
  6272. -0.15750 0.(Foible image protocol:)ashow
  6273. 375 81 gm
  6274. 1 fs
  6275. bu fc
  6276. 2 F /|______Times-Bold fnt
  6277. bn
  6278. 0.73077 0.(boundingBox)ashow
  6279. 375 225 gm
  6280. 0 fs
  6281. bu fc
  6282. 2 F /|______Times-Roman fnt
  6283. bn
  6284. -0.09678 0.(return the boundingBox that contains all of my forms)ashow
  6285. 399 81 gm
  6286. 1 fs
  6287. bu fc
  6288. 2 F /|______Times-Bold fnt
  6289. bn
  6290. 1.86431 0. 32 0.18643 0.(displayOn: at: )awidthshow
  6291. 399 225 gm
  6292. 0 fs
  6293. bu fc
  6294. 2 F /|______Times-Roman fnt
  6295. bn
  6296. -0.06552 0.(display my forms)ashow
  6297. 417 81 gm
  6298. 0.26550 0. 32 0.02655 0.( )awidthshow
  6299. 1 fs
  6300. bu fc
  6301. 2 F /|______Times-Bold fnt
  6302. bn
  6303. 2.88284 0. 32 0.28828 0.(clippingBox: rule: mask:)awidthshow
  6304. 453 81 gm
  6305. 0 fs
  6306. bu fc
  6307. 2 F /|______Times-Roman fnt
  6308. bn
  6309. 0.07354 0. 32 0.00735 0.(Foible also has one class instance variable, which is used to store the image for each concrete)awidthshow
  6310. 477 81 gm
  6311. -0.04557 0.(subclass of Foible.  This allows each subclass of Foible to have a unique icon.)ashow
  6312. 513 81 gm
  6313. -0.09182 0.(The class variable that stores the icon is initialized the first time that the variable is accessed.  If)ashow
  6314. 537 81 gm
  6315. 1.43356 0. 32 0.14335 0.(the variable has been initialized then the variable is simply returned.  If it has not been)awidthshow
  6316. 561 81 gm
  6317. -0.11447 0.(initialized then the form is retrieved, and the variable is set.)ashow
  6318. 621 81 gm
  6319. 1 fs
  6320. bu fc
  6321. 2 F /|______Times-Bold fnt
  6322. bn
  6323. 1.79997 0.(4.1.1.)ashow
  6324. 621 153 gm
  6325. 0.90080 0.(FoibleBoxes)ashow
  6326. 657 81 gm
  6327. 0 fs
  6328. bu fc
  6329. 2 F /|______Times-Roman fnt
  6330. bn
  6331. 0.52398 0. 32 0.05239 0.(FoibleBox is the abstract class for all boxes in the FOIBLE system.  A FoibleBox stores its)awidthshow
  6332. 681 81 gm
  6333. 1.38610 0. 32 0.13861 0.(name and location on the screen.  Each box has a name that uniquely identifies it in an)awidthshow
  6334. F T cp
  6335. %%Page: ? 38
  6336. op
  6337. 32 30 xl
  6338. 1 1 pen
  6339. 735 300 gm
  6340. (nc 32 30 762 582 6 rc)kp
  6341. 1 setTxMode
  6342. 0 fs
  6343. 12 fz
  6344. bu fc
  6345. 2 F /|______Times-Roman fnt
  6346. bn
  6347. (34)show
  6348. 93 81 gm
  6349. 0.89813 0. 32 0.08981 0.(application.  Its name is assigned when the box is created.  Each box also has a form that)awidthshow
  6350. 117 81 gm
  6351. -0.04972 0.(represents the box on the screen.)ashow
  6352. 153 81 gm
  6353. -0.08752 0.(FoibleBox implements some important access protocol.  The )ashow
  6354. 2 fs
  6355. bu fc
  6356. 2 F /|______Times-Italic fnt
  6357. bn
  6358. -0.07800 0.(links)ashow
  6359. 0 fs
  6360. bu fc
  6361. 2 F /|______Times-Roman fnt
  6362. bn
  6363. -0.08326 0.( method returns the links that)ashow
  6364. 177 81 gm
  6365. 0.09109 0. 32 0.00910 0.(are connected to a box.  A box sends its value to its output links, and when a box is moved, it)awidthshow
  6366. 201 81 gm
  6367. 1.09329 0. 32 0.10932 0.(has to inform all of its links.  A FoibleBox can also determine the FoibleManager that is)awidthshow
  6368. 225 81 gm
  6369. -0.00526 0.(responsible for it.  This is useful when operations are performed on a box, since operations on)ashow
  6370. 249 81 gm
  6371. 0.76614 0. 32 0.07661 0.(a Foible like moving and deleting must inform the Foible's FoibleManager of the changes.)awidthshow
  6372. 273 81 gm
  6373. 1.52236 0. 32 0.15223 0.(Knowing a box's manager also makes it possible to determine if a Foible is inside of a)awidthshow
  6374. 297 81 gm
  6375. 0.03675 0.(FoibleBox.)ashow
  6376. 333 81 gm
  6377. -0.10516 0.(FoibleBox access protocol:)ashow
  6378. 357 81 gm
  6379. 1 fs
  6380. bu fc
  6381. 2 F /|______Times-Bold fnt
  6382. bn
  6383. 0.83082 0.(links)ashow
  6384. 357 225 gm
  6385. 0 fs
  6386. bu fc
  6387. 2 F /|______Times-Roman fnt
  6388. bn
  6389. -0.12968 0.(return an OrderedCollection of my links)ashow
  6390. 381 81 gm
  6391. 1 fs
  6392. bu fc
  6393. 2 F /|______Times-Bold fnt
  6394. bn
  6395. 2.54150 0. 32 0.25415 0.(inside: aManager)awidthshow
  6396. 381 225 gm
  6397. 0 fs
  6398. bu fc
  6399. 2 F /|______Times-Roman fnt
  6400. bn
  6401. -0.16697 0.(determine if I am directly or indirectly managed by aManager)ashow
  6402. 405 81 gm
  6403. 1 fs
  6404. bu fc
  6405. 2 F /|______Times-Bold fnt
  6406. bn
  6407. 4.13696 0. 32 0.41369 0.(linkedTo: aFoibleBox)awidthshow
  6408. 405 225 gm
  6409. 0 fs
  6410. bu fc
  6411. 2 F /|______Times-Roman fnt
  6412. bn
  6413. -0.09548 0.(return whether or not I have a link to aFoibleBox)ashow
  6414. 441 81 gm
  6415. 0.57846 0. 32 0.05784 0.(The concept of a Foible being inside a FoibleBox, referred to as a complex box, introduces)awidthshow
  6416. 465 81 gm
  6417. 1.45553 0. 32 0.14555 0.(some new terminology.  A complex box is a FoibleBox that can contain Foibles.  Each)awidthshow
  6418. 489 81 gm
  6419. 0.61035 0. 32 0.06103 0.(complex box has a FoibleManager, referred to as its companion manager, that manages the)awidthshow
  6420. 513 81 gm
  6421. 0.62240 0. 32 0.06224 0.(Foibles inside of it.  When a complex box changes its image, it must inform its companion)awidthshow
  6422. 537 81 gm
  6423. 0.12298 0. 32 0.01229 0.(manager.  When a complex box receives messages such as displaying, moving, or deleting, it)awidthshow
  6424. 561 81 gm
  6425. 0.55633 0. 32 0.05563 0.(performs any necessary operations and then sends an appropriate message to its companion)awidthshow
  6426. 585 81 gm
  6427. 0.41168 0. 32 0.04116 0.(manager.  A complex box is the only type of FoibleBox that has a companion manager, and)awidthshow
  6428. 609 81 gm
  6429. -0.07960 0.(thus is the only type of FoibleBox that needs to store the manager.)ashow
  6430. 645 81 gm
  6431. 0.21316 0. 32 0.02131 0.(All FoibleBoxes have the complex box protocol and an instance variable that is used to store)awidthshow
  6432. 669 81 gm
  6433. 0.26473 0. 32 0.02647 0.(the companion manager of a complex box.  Boxes that are not complex boxes do not use the)awidthshow
  6434. 693 81 gm
  6435. 0.53848 0. 32 0.05384 0.(variable, and several of the FoibleBox methods have to deal with complex boxes as well as)awidthshow
  6436. F T cp
  6437. %%Page: ? 39
  6438. op
  6439. 32 30 xl
  6440. 1 1 pen
  6441. 735 300 gm
  6442. (nc 32 30 762 582 6 rc)kp
  6443. 1 setTxMode
  6444. 0 fs
  6445. 12 fz
  6446. bu fc
  6447. 2 F /|______Times-Roman fnt
  6448. bn
  6449. (35)show
  6450. 93 81 gm
  6451. 2.39868 0. 32 0.23986 0.(regular FoibleBoxes.  This is done by checking whether "self manager" is nil.  The)awidthshow
  6452. 117 81 gm
  6453. 2 fs
  6454. bu fc
  6455. 2 F /|______Times-Italic fnt
  6456. bn
  6457. 0.24732 0.(moveFoiblesBy:)ashow
  6458. 0 fs
  6459. bu fc
  6460. 2 F /|______Times-Roman fnt
  6461. bn
  6462. 0.77987 0. 32 0.07798 0.( method is one of the methods that has to handle regular FoibleBoxes and)awidthshow
  6463. 141 81 gm
  6464. -0.02413 0.(complex boxes.)ashow
  6465. 177 81 gm
  6466. -0.09118 0.(FoibleBox protocol for moving:)ashow
  6467. 214 81 gm
  6468. bu fc
  6469. {}mark T /Courier /|______Courier 0 rf
  6470. bn
  6471. bu fc
  6472. 2 F /|______Courier fnt
  6473. bn
  6474. -0.20816 0.(moveFoiblesBy: aPoint)ashow
  6475. 244 81 gm
  6476. -0.21350 0.(| aRectangle |)ashow
  6477. 262 81 gm
  6478. -0.20486 0.(aRectangle <- self boundingBox.)ashow
  6479. 280 81 gm
  6480. -0.21350 0.(self links do:)ashow
  6481. 298 99 gm
  6482. -0.22303 0.([:aLink |)ashow
  6483. 316 117 gm
  6484. -0.20687 0.(aRectangle <- aRectangle)ashow
  6485. 334 225 gm
  6486. -0.20321 0.(merge:\(aLink boxMoved: self by: aPoint\)].)ashow
  6487. 352 81 gm
  6488. -0.20927 0.(self manager notNil)ashow
  6489. 370 99 gm
  6490. -0.23129 0.(ifTrue:)ashow
  6491. 388 117 gm
  6492. -0.20651 0.([aRectangle <- aRectangle)ashow
  6493. 406 225 gm
  6494. -0.20333 0.(merge:\(self manager moveAllBy: aPoint\)].)ashow
  6495. 424 81 gm
  6496. -0.21807 0.(^aRectangle)ashow
  6497. 477 81 gm
  6498. bu fc
  6499. 2 F /|______Times-Roman fnt
  6500. bn
  6501. -0.03088 0.(In addition to moving, FoibleBox also has protocol for removing itself, as well as adding links)ashow
  6502. 501 81 gm
  6503. -0.06942 0.(to and removing links from itself.)ashow
  6504. 537 81 gm
  6505. -0.09561 0.(FoibleBox protocol for removing:)ashow
  6506. 561 81 gm
  6507. 1 fs
  6508. bu fc
  6509. 2 F /|______Times-Bold fnt
  6510. bn
  6511. 0.60571 0.(remove)ashow
  6512. 561 225 gm
  6513. 0 fs
  6514. bu fc
  6515. 2 F /|______Times-Roman fnt
  6516. bn
  6517. -0.12507 0.(remove myself and any links connected to me)ashow
  6518. 597 81 gm
  6519. -0.08258 0.(FoibleBox protocol for links:)ashow
  6520. 621 81 gm
  6521. 1 fs
  6522. bu fc
  6523. 2 F /|______Times-Bold fnt
  6524. bn
  6525. 1.87194 0. 32 0.18719 0.(addLink: aLink)awidthshow
  6526. 621 225 gm
  6527. 0 fs
  6528. bu fc
  6529. 2 F /|______Times-Roman fnt
  6530. bn
  6531. -0.14961 0.(connect myself to aLink)ashow
  6532. 645 81 gm
  6533. 1 fs
  6534. bu fc
  6535. 2 F /|______Times-Bold fnt
  6536. bn
  6537. 2.56759 0. 32 0.25675 0.(removeLink: aLink)awidthshow
  6538. 645 225 gm
  6539. 0 fs
  6540. bu fc
  6541. 2 F /|______Times-Roman fnt
  6542. bn
  6543. -0.12141 0.(disconnect myself from aLink)ashow
  6544. F T cp
  6545. %%Page: ? 40
  6546. op
  6547. 32 30 xl
  6548. 1 1 pen
  6549. 735 300 gm
  6550. (nc 32 30 762 582 6 rc)kp
  6551. 1 setTxMode
  6552. 0 fs
  6553. 12 fz
  6554. bu fc
  6555. 2 F /|______Times-Roman fnt
  6556. bn
  6557. (36)show
  6558. 93 81 gm
  6559. 0.05844 0. 32 0.00584 0.(There are two subclasses of FoibleBox, BoxWithDirectLinks and BoxWithPorts.  They differ)awidthshow
  6560. 117 81 gm
  6561. 0.22064 0. 32 0.02206 0.(in the way that boxes are connected to links.  A BoxWithPorts uses ports to connect to links,)awidthshow
  6562. 141 81 gm
  6563. -0.12423 0.(while a BoxWithDirectLinks is directly connected to its links.)ashow
  6564. 177 81 gm
  6565. -0.03863 0.(Ports were added during the first redesign of FOIBLE, in conjunction with the development of)ashow
  6566. 201 81 gm
  6567. 0.71197 0. 32 0.07119 0.(FlowKit [Scae88].  All of the boxes in FlowKit had a predetermined number of inputs and)awidthshow
  6568. 225 81 gm
  6569. 0.55297 0. 32 0.05529 0.(outputs, and as a result, ports were created to control the number of inputs and outputs of a)awidthshow
  6570. 249 81 gm
  6571. 0.42572 0. 32 0.04257 0.(box.  Each box created its input and output ports when it was was created.  Links were then)awidthshow
  6572. 273 81 gm
  6573. -0.08535 0.(connected to the ports on a box.  Each port could be connected to only one link at a time, so the)ashow
  6574. 297 81 gm
  6575. -0.07969 0.(ports actually controlled which links were allowed to connect to a box, and which were not.)ashow
  6576. 333 81 gm
  6577. 0.77835 0. 32 0.07783 0.(Using ports on boxes can be useful, in some situations.  In the applications that have been)awidthshow
  6578. 357 81 gm
  6579. 1.24572 0. 32 0.12457 0.(developed with FOIBLE, many operations that boxes perform have a specific number of)awidthshow
  6580. 381 81 gm
  6581. 0.03158 0. 32 0.00315 0.(operands, and ports are a useful method for controlling the inputs to, and outputs from, a box.)awidthshow
  6582. 405 81 gm
  6583. 0.22552 0. 32 0.02255 0.(It is difficult, however, to handle an operation in which the number of operands is unlimited,)awidthshow
  6584. 429 81 gm
  6585. 0.50796 0. 32 0.05079 0.(or unknown and so, ports are not always desirable.  An example of such an operation is the)awidthshow
  6586. 453 81 gm
  6587. -0.11836 0.(maximum of an unlimited set of numbers.  The first visual programming language implemented)ashow
  6588. 477 81 gm
  6589. 0.41732 0. 32 0.04173 0.(with FOIBLE, System Dynamics Environment \(SDE\), did not use ports.  SDE implemented)awidthshow
  6590. 501 81 gm
  6591. 0.05401 0. 32 0.00540 0.(link controlling in the box protocol.  The box protocol is much simpler now that boxes do not)awidthshow
  6592. 525 81 gm
  6593. -0.10043 0.(have to control the link connections.)ashow
  6594. 561 81 gm
  6595. 0.86624 0. 32 0.08662 0.(Since the current users of FOIBLE are divided between wanting and not wanting ports on)awidthshow
  6596. 585 81 gm
  6597. 0.14617 0. 32 0.01461 0.(boxes, the solution was to have both.  As a result, there are now two ways to connect links to)awidthshow
  6598. 609 81 gm
  6599. 4.63073 0. 32 0.46307 0.(boxes, which are realized in two subclasses of FoibleBox, BoxWithPorts and)awidthshow
  6600. 633 81 gm
  6601. 2.12112 0. 32 0.21211 0.(BoxWithDirectLinks.  A BoxWithPorts has inputPorts and outputPorts to control link)awidthshow
  6602. 657 81 gm
  6603. 0.76461 0. 32 0.07646 0.(connections. A BoxWithDirectLinks does not use ports at all, so the box must control link)awidthshow
  6604. 681 81 gm
  6605. -0.07231 0.(connections itself.)ashow
  6606. F T cp
  6607. %%Page: ? 41
  6608. op
  6609. 32 30 xl
  6610. 1 1 pen
  6611. 735 300 gm
  6612. (nc 32 30 762 582 6 rc)kp
  6613. 1 setTxMode
  6614. 0 fs
  6615. 12 fz
  6616. bu fc
  6617. 2 F /|______Times-Roman fnt
  6618. bn
  6619. (37)show
  6620. 93 81 gm
  6621. 0.13900 0. 32 0.01390 0.(A BoxWithPorts stores its inputPorts and outputPorts.  A BoxWithPort's outputPort can have)awidthshow
  6622. 117 81 gm
  6623. -0.06419 0.(any number of outgoing links, while its inputPorts can each have only one incoming link.  Any)ashow
  6624. 141 81 gm
  6625. -0.09283 0.(subclass of BoxWithPorts must initialize the number of ports that it will have.)ashow
  6626. 177 81 gm
  6627. -0.07936 0.(BoxWithPorts protocol for port access:)ashow
  6628. 201 81 gm
  6629. 1 fs
  6630. bu fc
  6631. 2 F /|______Times-Bold fnt
  6632. bn
  6633. 2.81753 0. 32 0.28175 0.(inputs: numInputs)awidthshow
  6634. 201 225 gm
  6635. 0 fs
  6636. bu fc
  6637. 2 F /|______Times-Roman fnt
  6638. bn
  6639. -0.12539 0.(initialize myself to have the number of input ports specified by)ashow
  6640. 219 225 gm
  6641. -0.07055 0.(numInputs and one output port)ashow
  6642. 243 81 gm
  6643. 1 fs
  6644. bu fc
  6645. 2 F /|______Times-Bold fnt
  6646. bn
  6647. 2.50228 0. 32 0.25022 0.(outputs: numOutputs)awidthshow
  6648. 243 225 gm
  6649. 0 fs
  6650. bu fc
  6651. 2 F /|______Times-Roman fnt
  6652. bn
  6653. -0.12339 0.(initialize myself to have the number of output ports specified by)ashow
  6654. 261 225 gm
  6655. -0.08283 0.(numOutputs and no input ports)ashow
  6656. 285 81 gm
  6657. 1 fs
  6658. bu fc
  6659. 2 F /|______Times-Bold fnt
  6660. bn
  6661. 2.24990 0. 32 0.22499 0.(inputs: numInputs )awidthshow
  6662. 285 225 gm
  6663. 0 fs
  6664. bu fc
  6665. 2 F /|______Times-Roman fnt
  6666. bn
  6667. -0.13055 0.(initialize myself to have the number of inputs specified by)ashow
  6668. 303 81 gm
  6669. 0.16326 0. 32 0.01632 0.(  )awidthshow
  6670. 1 fs
  6671. bu fc
  6672. 2 F /|______Times-Bold fnt
  6673. bn
  6674. 2.37350 0. 32 0.23735 0.(outputs: numOutputs)awidthshow
  6675. 303 225 gm
  6676. 0 fs
  6677. bu fc
  6678. 2 F /|______Times-Roman fnt
  6679. bn
  6680. -0.08508 0.(numInputs and the number of outputs specified by numOutputs)ashow
  6681. 351 81 gm
  6682. -0.01339 0.(A BoxWithDirectLinks stores its links.  BoxWithPorts did not need the links variable because)ashow
  6683. 375 81 gm
  6684. -0.01362 0.(ports know their links, so when a BoxWithPorts needs to know its links, it can ask its ports.)ashow
  6685. 411 81 gm
  6686. 0.97045 0. 32 0.09704 0.(The boxes in an application are subclasses of BoxWithPorts and BoxWithDirectLinks.  A)awidthshow
  6687. 435 81 gm
  6688. 0.45730 0. 32 0.04573 0.(box's type is not only transparent to the user, except in a system that displays the ports, it is)awidthshow
  6689. 459 81 gm
  6690. -0.08818 0.(also transparent to the entire system.)ashow
  6691. 519 81 gm
  6692. 1 fs
  6693. bu fc
  6694. 2 F /|______Times-Bold fnt
  6695. bn
  6696. 1.79997 0.(4.1.2.)ashow
  6697. 519 153 gm
  6698. 5.04898 0. 32 0.50489 0.(FoibleLinks, FoibleLines)awidthshow
  6699. 555 81 gm
  6700. 0 fs
  6701. bu fc
  6702. 2 F /|______Times-Roman fnt
  6703. bn
  6704. 0.04837 0. 32 0.00483 0.(FoibleLink is the class for the link elements of visual programming systems.  FoibleLinks are)awidthshow
  6705. 579 81 gm
  6706. -0.06765 0.(used to transfer information between FoibleBoxes.)ashow
  6707. 615 81 gm
  6708. -0.02639 0.(When a box has a value to send, it sends it to its outgoing links.  When a link receives a value,)ashow
  6709. 639 81 gm
  6710. -0.02299 0.(it sends it to its destination box.  The specific timing of when values are sent through a system)ashow
  6711. 663 81 gm
  6712. -0.15837 0.(must be implemented specifically in each application.)ashow
  6713. F T cp
  6714. %%Page: ? 42
  6715. op
  6716. 32 30 xl
  6717. 1 1 pen
  6718. 735 300 gm
  6719. (nc 32 30 762 582 6 rc)kp
  6720. 1 setTxMode
  6721. 0 fs
  6722. 12 fz
  6723. bu fc
  6724. 2 F /|______Times-Roman fnt
  6725. bn
  6726. (38)show
  6727. 93 81 gm
  6728. -0.06900 0.(FoibleLinks have protocol for storing and displaying their image.  A FoibleLink stores its path,)ashow
  6729. 117 81 gm
  6730. -0.08081 0.(which consists of an ordered collection of a special class of lines, FoibleLines.  A FoibleLine is)ashow
  6731. 141 81 gm
  6732. 0.36087 0. 32 0.03608 0.(a special type of displayObject that knows how to display and erase itself as a line, which is)awidthshow
  6733. 165 81 gm
  6734. 0.43441 0. 32 0.04344 0.(useful when creating or modifying a link, and as a form, which is useful when a FoibleLink)awidthshow
  6735. 189 81 gm
  6736. -0.02108 0.(displays itself.)ashow
  6737. 225 81 gm
  6738. 0.32287 0. 32 0.03228 0.(The form that FoibleLinks use to display their image is a special type of form, InfiniteForm.)awidthshow
  6739. 249 81 gm
  6740. 0.54031 0. 32 0.05403 0.(An InfiniteForm has a pattern which it repeats to give itself the proper size.  There are four)awidthshow
  6741. 273 81 gm
  6742. -0.01951 0.(class variables in which FoibleLinks store the InfiniteForms that are used to display its image:)ashow
  6743. 297 81 gm
  6744. 0.03326 0. 32 0.00332 0.(north, south, east and west.  Each variable has the image facing in the specified direction, and)awidthshow
  6745. 321 81 gm
  6746. -0.08187 0.(there are no diagonal links in FOIBLE.  The image of a link is used to display the direction that)ashow
  6747. 345 81 gm
  6748. 1.31347 0. 32 0.13134 0.(information is passed in the system, so it is important that the image have some type of)awidthshow
  6749. 369 81 gm
  6750. -0.14109 0.(directionality.)ashow
  6751. 405 81 gm
  6752. -0.12574 0.(FoibleLink class protocol for instance creation:)ashow
  6753. 429 81 gm
  6754. 1 fs
  6755. bu fc
  6756. 2 F /|______Times-Bold fnt
  6757. bn
  6758. 2.34695 0. 32 0.23469 0.(from: source to: dest)awidthshow
  6759. 429 225 gm
  6760. 0 fs
  6761. bu fc
  6762. 2 F /|______Times-Roman fnt
  6763. bn
  6764. -0.10682 0.(create a new Link from source to dest with path aPath)ashow
  6765. 447 81 gm
  6766. 1 fs
  6767. bu fc
  6768. 2 F /|______Times-Bold fnt
  6769. bn
  6770. 1.59942 0. 32 0.15994 0.(  withPath: aPath)awidthshow
  6771. 483 81 gm
  6772. 0 fs
  6773. bu fc
  6774. 2 F /|______Times-Roman fnt
  6775. bn
  6776. 0.01342 0. 32 0.00134 0.(A FoibleLink's path consists of a set of FoibleLines.  There are four subclasses of FoibleLine,)awidthshow
  6777. 507 81 gm
  6778. 0.48217 0. 32 0.04821 0.(NorthLine, SouthLine, EastLine, and WestLine, corresponding to the directions that a link's)awidthshow
  6779. 531 81 gm
  6780. 0.28289 0. 32 0.02828 0.(path can have.  FoibleLines are created by sending the class method )awidthshow
  6781. 2 fs
  6782. bu fc
  6783. 2 F /|______Times-Italic fnt
  6784. bn
  6785. 0.36590 0. 32 0.03659 0.(from: to:)awidthshow
  6786. 0 fs
  6787. bu fc
  6788. 2 F /|______Times-Roman fnt
  6789. bn
  6790. 0.33767 0. 32 0.03376 0.( to FoibleLine.)awidthshow
  6791. 555 81 gm
  6792. -0.11373 0.(FoibleLine determines the direction of the line, and returns the appropriate instance of one of its)ashow
  6793. 579 81 gm
  6794. 0.10194 0.(subclasses.)ashow
  6795. 615 81 gm
  6796. 0.07156 0. 32 0.00715 0.(A FoibleLink stores its source and its destination, which may be one of two different types of)awidthshow
  6797. 639 81 gm
  6798. -0.07759 0.(objects.  If a link is connected to a BoxWithPorts, then the source and/or the destination will be)ashow
  6799. 663 81 gm
  6800. -0.06164 0.(ports. If the box is a BoxWithDirectLinks, then the source and/or the destination will be boxes.)ashow
  6801. 687 81 gm
  6802. 0.76568 0. 32 0.07656 0.(The messages that a FoibleLink sends to its source and destination are understood by both)awidthshow
  6803. F T cp
  6804. %%Page: ? 43
  6805. op
  6806. 32 30 xl
  6807. 1 1 pen
  6808. 735 300 gm
  6809. (nc 32 30 762 582 6 rc)kp
  6810. 1 setTxMode
  6811. 0 fs
  6812. 12 fz
  6813. bu fc
  6814. 2 F /|______Times-Roman fnt
  6815. bn
  6816. (39)show
  6817. 93 81 gm
  6818. 1.28295 0. 32 0.12829 0.(FoibleBox and Port, thus making the class of the source and destination transparent to a)awidthshow
  6819. 117 81 gm
  6820. -0.03291 0.(FoibleLink.)ashow
  6821. 153 81 gm
  6822. -0.12574 0.(FoibleLink class protocol for instance creation:)ashow
  6823. 177 81 gm
  6824. 1 fs
  6825. bu fc
  6826. 2 F /|______Times-Bold fnt
  6827. bn
  6828. 1.16452 0.(box)ashow
  6829. 177 189 gm
  6830. 0 fs
  6831. bu fc
  6832. 2 F /|______Times-Roman fnt
  6833. bn
  6834. -0.07482 0.(return the box of my source)ashow
  6835. 201 81 gm
  6836. 1 fs
  6837. bu fc
  6838. 2 F /|______Times-Bold fnt
  6839. bn
  6840. 1.00068 0.(toBox)ashow
  6841. 201 189 gm
  6842. 0 fs
  6843. bu fc
  6844. 2 F /|______Times-Roman fnt
  6845. bn
  6846. -0.10609 0.(return the box of my destination)ashow
  6847. 237 81 gm
  6848. 0.81283 0. 32 0.08128 0.(FoibleLink has several methods for modifying the FoibleLines that make up its path.  The)awidthshow
  6849. 261 81 gm
  6850. -0.01673 0.(segments of a FoibleLink may be modified for one of two reasons.  A box that is connected to)ashow
  6851. 285 81 gm
  6852. 0.06240 0. 32 0.00624 0.(the FoibleLink may have moved, or the user may have specifically edited the segments of the)awidthshow
  6853. 309 81 gm
  6854. 0.99822 0. 32 0.09982 0.(FoibleLink.  Tool implements the operations that edit the image of a link, but FoibleLink)awidthshow
  6855. 333 81 gm
  6856. -0.11154 0.(implements modifying its image when a box that it is connected to is moved.)ashow
  6857. 369 81 gm
  6858. -0.11018 0.(FoibleLink protocol for moving:)ashow
  6859. 393 81 gm
  6860. 1 fs
  6861. bu fc
  6862. 2 F /|______Times-Bold fnt
  6863. bn
  6864. 2.78091 0. 32 0.27809 0.(boxMoved: aBox by: aPoint)awidthshow
  6865. 393 261 gm
  6866. 0 fs
  6867. bu fc
  6868. 2 F /|______Times-Roman fnt
  6869. bn
  6870. -0.06727 0.(one of my boxes moved, fix my image)ashow
  6871. 429 81 gm
  6872. 0.06134 0. 32 0.00613 0.(There are two cases to handle when the box connected to a link is moved.  If the FoibleLink's)awidthshow
  6873. 453 81 gm
  6874. 0.03036 0. 32 0.00303 0.(path consists of only one FoibleLine, then its new path will consist of three FoibleLines, as in)awidthshow
  6875. 477 81 gm
  6876. 1.37039 0. 32 0.13703 0.(Figure 4.1.  If the FoibleLink's path consists of more than one FoibleLine, then the line)awidthshow
  6877. 501 81 gm
  6878. 1.01043 0. 32 0.10104 0.(connected to the box that moved, and the line connected to that line are altered to keep a)awidthshow
  6879. 525 81 gm
  6880. 0.08346 0. 32 0.00834 0.(consistent link, as in Figure 4.2.)awidthshow
  6881. 0 0 gm
  6882. (nc 540 194 666 418 6 rc)kp
  6883. T 224 65 194 540 30 224 65 T 0 db
  6884. 000000000000000000000000000000000000000000000000000000000000
  6885. 000000000000000000000000000000000000000000000000000000000000
  6886. 000000000000000000000000000000000000000000000000000000000000
  6887. 000000000000000000000000000000000000000000000000000000000000
  6888. 000000000000000000000000000000000000000000000000000000000000
  6889. 3FFFF8000000000000000000000000000000000000000000000000000000
  6890. 200008000000000000000000000000000000000000000000007FFFF00000
  6891. 200008000000000000000000000000000000000000000000004000100000
  6892. 200008000000000000000000000000000000000000000000004000100000
  6893. 200008000000000000000000000000000000000000000000004000100000
  6894. 200008000000000000000000000000000000000000000000004060100000
  6895. 20000800400080010002000400080010004000800100020004469C100000
  6896. 200008002000400080010002000400080020004000800100024992100000
  6897. 200008001000200040008001000200040010002000400080014992100000
  6898. 20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC492900000
  6899. 200008001000200040008001000200040010002000400080014493500000
  6900. 200008002000400080010002000400080020004000800100025A02500000
  6901. 200008004000800100020004000800100040008001000200046600500000
  6902. 200008000000000000000000000000000000000000000000006200500000
  6903. 200008000000000000000000000000000000000000000000005000900000
  6904. 200008000000000000000000000000000000000000000000004800900000
  6905. 200008000000000000000000000000000000000000000000004801100000
  6906. 200008000000000000000000000000000000000000000000004401100000
  6907. 3FFFF8000000000000000000000000000000000000000000004401100000
  6908. 000000000000000000000000000000000000000000000000004202100000
  6909. 000000000000000000000000000000000000000000000000007102700000
  6910. 000000000000000000000000000000000000000000000000000102000000
  6911. 000000000000000000000000000000000000000000000000000000000000
  6912. 000000000000000000000000000000000000000000000000000000000000
  6913. 000000000000000000000000000000000000000000000000000000000000
  6914. 000000000000000000000000000000000000000000000000000000000000
  6915. 000000000000000000000000000000000000000000000000000000000000
  6916. 000000000000000000000000000000000000000000000000000000000000
  6917. 000000000000000000000000000000000000000000000000000000000000
  6918. 000000000000000000000000000000000000000000000000000000000000
  6919. 000000000000000000000000000000000000000000000000000000000000
  6920. 000000000000000000000000000000000000000000000000000000000000
  6921. 000000000000000000000000000000000000000000000000000000000000
  6922. 000000000000000000000000000000000000000000000000000000000000
  6923. 000000000000000000000000000000000000000000000000000000000000
  6924. 000000000000000000000000000000000000000000000000000000000000
  6925. 000000000000000000000000000000000000000000000000000000000000
  6926. 000000000000000000000000000000000000000000000000000000000000
  6927. 000000000000000000000000000000000000000000000000000000000000
  6928. 000000000000000000000000000000000000000000000000000000000000
  6929. 000000000000000000000000000000000000000000000000000000000000
  6930. 000000000000000000000000000000000000000000000000000000000000
  6931. 000000000000000000000000000000000000000000000000000000000000
  6932. 000000000000000000000000000000000000000000000000000000000000
  6933. 000000000000000000000000000000000000000000000000000000000000
  6934. 000000000000000000000000000000000000000000000000000000000000
  6935. 000000000000000000000000000000000000000000000000000000000000
  6936. 000000000000000000000000000000000000000000000000000000000000
  6937. 000000000000000000000000000000000000000000000000000000000000
  6938. 000000000000000000000000000000000000000000000000000000000000
  6939. 000000000000000000000000000000000000000000000000000000000000
  6940. 000000000000000000000000000000000000000000000000000000000000
  6941. 000000000000000000000000000000000000000000000000000000000000
  6942. 000000000000000000000000000000000000000000000000000000000000
  6943. 00000000000000000000000000000000000000000007FFFF000000000000
  6944. 000000000000000000000000000000000000000000040001000000000000
  6945. 000000000000000000000000000000000000000000040001000000000000
  6946. 000000000000000000000000000000000000000000040001000000000000
  6947. 000000000000000000000000000000000000000000040601000000000000
  6948. 0000000000000000000000000004000800100020004469C1000000000000
  6949. 000000000000000000000000000200040008001000249921000000000000
  6950. 000000000000000000000000000100020004000800149921000000000000
  6951. 0000000000000000000000003FFFFFFFFFFFFFFFFFFC4929000000000000
  6952. 000000000000000000000000200100020004000800144935000000000000
  6953. T 224 63 194 605 30 224 63 T 0 db
  6954. 000000000000000000000000000200040008001000249921000000000000
  6955. 000000000000000000000000000100020004000800149921000000000000
  6956. 0000000000000000000000003FFFFFFFFFFFFFFFFFFC4929000000000000
  6957. 000000000000000000000000200100020004000800144935000000000000
  6958. 00000000000000000000000070020004000800100025A025000000000000
  6959. 000000000000000000000000A80400080010002000466005000000000000
  6960. 000000000000000000000001240000000000000000062005000000000000
  6961. 000000000000000000000000200000000000000000050009000000000000
  6962. 000000000000000000000000200000000000000000048009000000000000
  6963. 000000000000000000000000200000000000000000048011000000000000
  6964. 000000000000000000000000200000000000000000044011000000000000
  6965. 000000000000000000000000200000000000000000044011000000000000
  6966. 000000000000000000000000200000000000000000042021000000000000
  6967. 000000000000000000000000200000000000000000071027000000000000
  6968. 000000000000000000000000200000000000000000001020000000000000
  6969. 000000000000000000000000200000000000000000000000000000000000
  6970. 000000000000000000000000200000000000000000000000000000000000
  6971. 000000000000000000000000200000000000000000000000000000000000
  6972. 000000000000000000000000200000000000000000000000000000000000
  6973. 000000000000000000000000700000000000000000000000000000000000
  6974. 000000000000000000000000A80000000000000000000000000000000000
  6975. 000000000000000000000001240000000000000000000000000000000000
  6976. 000000000000000000000000200000000000000000000000000000000000
  6977. 000000000000000000000000200000000000000000000000000000000000
  6978. 000000000000000000000000200000000000000000000000000000000000
  6979. 000000000000000000000000200000000000000000000000000000000000
  6980. 000000000000000000000000200000000000000000000000000000000000
  6981. 000000000000000000000000200000000000000000000000000000000000
  6982. 000000000000000000000000200000000000000000000000000000000000
  6983. 000000000000000000000000200000000000000000000000000000000000
  6984. 000000000000000000000000200000000000000000000000000000000000
  6985. 000000000000000000000000200000000000000000000000000000000000
  6986. 000000000000000000000000200000000000000000000000000000000000
  6987. 000000000000000000000000200000000000000000000000000000000000
  6988. 000000000000000000000000700000000000000000000000000000000000
  6989. 000000000000000000000000A80000000000000000000000000000000000
  6990. 000000000000000000000001240000000000000000000000000000000000
  6991. 000000000000000000000000200000000000000000000000000000000000
  6992. 000000000000000000000000200000000000000000000000000000000000
  6993. 1FFFFC000000000000000000200000000000000000000000000000000000
  6994. 100004000000000000000000200000000000000000000000000000000000
  6995. 100004000000000000000000200000000000000000000000000000000000
  6996. 100004000000000000000000200000000000000000000000000000000000
  6997. 100004000000000000000000200000000000000000000000000000000000
  6998. 100004000000000000000000200000000000000000000000000000000000
  6999. 100004002000400080010002200000000000000000000000000000000000
  7000. 100004001000200040008001200000000000000000000000000000000000
  7001. 100004000800100020004000A00000000000000000000000000000000000
  7002. 100007FFFFFFFFFFFFFFFFFFE00000000000000000000000000000000000
  7003. 100004000800100020004000800000000000000000000000000000000000
  7004. 100004001000200040008001000000000000000000000000000000000000
  7005. 100004002000400080010002000000000000000000000000000000000000
  7006. 100004000000000000000000000000000000000000000000000000000000
  7007. 100004000000000000000000000000000000000000000000000000000000
  7008. 100004000000000000000000000000000000000000000000000000000000
  7009. 100004000000000000000000000000000000000000000000000000000000
  7010. 100004000000000000000000000000000000000000000000000000000000
  7011. 1FFFFC000000000000000000000000000000000000000000000000000000
  7012. 000000000000000000000000000000000000000000000000000000000000
  7013. 000000000000000000000000000000000000000000000000000000000000
  7014. 000000000000000000000000000000000000000000000000000000000000
  7015. 000000000000000000000000000000000000000000000000000000000000
  7016. 000000000000000000000000000000000000000000000000000000000000
  7017. 000000000000000000000000000000000000000000000000000000000000
  7018. 000000000000000000000000000000000000000000000000000000000000
  7019. 000000000000000000000000000000000000000000000000000000000000
  7020. 000000000000000000000000000000000000000000000000000000000000
  7021. 699 170 gm
  7022. (nc 32 30 762 582 6 rc)kp
  7023. bu fc
  7024. 2 F /|______Times-Roman fnt
  7025. bn
  7026. -0.08245 0.(Figure 4.1  Moving a Box with Link that has a single line)ashow
  7027. F T cp
  7028. %%Page: ? 44
  7029. op
  7030. 32 30 xl
  7031. 1 1 pen
  7032. 735 300 gm
  7033. (nc 32 30 762 582 6 rc)kp
  7034. 1 setTxMode
  7035. 0 fs
  7036. 12 fz
  7037. bu fc
  7038. 2 F /|______Times-Roman fnt
  7039. bn
  7040. (40)show
  7041. 0 0 gm
  7042. (nc 108 192 298 419 6 rc)kp
  7043. T 227 97 192 108 30 227 97 T 0 db
  7044. 000000000000000000000000000000000000000000000000000000000000
  7045. 000000000000000000000000000000000000000000000000000000000000
  7046. 000000000000000000000000000000000000000000000000000000000000
  7047. 000000000000000000000000000000000000000000000000000000000000
  7048. 000000000000000000000000000000000000000000000000000000000000
  7049. 000000000000000000000000000000000000000000000000000FFFFE0000
  7050. 000000000000000000000000000000000000000000000000000800020000
  7051. 000000000000000000000000000000000000000000000000000800020000
  7052. 000000000000000000000000000000000000000000000000000800020000
  7053. 00000000000000000000000000000000000000000000000000080C020000
  7054. 0000000000000000000000000000000000080010002000400088D3820000
  7055. 000000000000000000000000000000000004000800100020004932420000
  7056. 000000000000000000000000000000000002000400080010002932420000
  7057. 000000000000000000000000000000007FFFFFFFFFFFFFFFFFF892520000
  7058. 0000000000000000000000000000000040020004000800100028926A0000
  7059. 00000000000000000000000000000000E004000800100020004B404A0000
  7060. 000000000000000000000000000000015008001000200040008CC00A0000
  7061. 000000000000000000000000000000024800000000000000000C400A0000
  7062. 000000000000000000000000000000004000000000000000000A00120000
  7063. 000000000000000000000000000000004000000000000000000900120000
  7064. 000000000000000000000000000000004000000000000000000900220000
  7065. 000000000000000000000000000000004000000000000000000880220000
  7066. 000000000000000000000000000000004000000000000000000880220000
  7067. 000000000000000000000000000000004000000000000000000840420000
  7068. 000000000000000000000000000000004000000000000000000E204E0000
  7069. 000000000000000000000000000000004000000000000000000020400000
  7070. 000000000000000000000000000000004000000000000000000000000000
  7071. 000000000000000000000000000000004000000000000000000000000000
  7072. 000000000000000000000000000000004000000000000000000000000000
  7073. 000000000000000000000000000000004000000000000000000000000000
  7074. 00000000000000000000000000000000E000000000000000000000000000
  7075. 000000000000000000000000000000015000000000000000000000000000
  7076. 000000000000000000000000000000024800000000000000000000000000
  7077. 000000000000000000000000000000004000000000000000000000000000
  7078. 000000000000000000000000000000004000000000000000000000000000
  7079. 000000000000000000000000000000004000000000000000000000000000
  7080. 000000000000000000000000000000004000000000000000000000000000
  7081. 000000000000000000000000000000004000000000000000000000000000
  7082. 000000000000000000000000000000004000000000000000000000000000
  7083. 000000000000000000000000000000004000000000000000000000000000
  7084. 000000000000000000000000000000004000000000000000000000000000
  7085. 000000000000000000000000000000004000000000000000000000000000
  7086. 000000000000000000000000000000004000000000000000000000000000
  7087. 000000000000000000000000000000004000000000000000000000000000
  7088. 000000000000000000000000000000004000000000000000000000000000
  7089. 00000000000000000000000000000000E000000000000000000000000000
  7090. 000000000000000000000000000000015000000000000000000000000000
  7091. 000000000000000000000000000000024800000000000000000000000000
  7092. 000000000000000000000000000000004000000000000000000000000000
  7093. 000000000000000000000000000000004000000000000000000000000000
  7094. 0FFFFE000000000000000000000000004000000000000000000000000000
  7095. 080002000000000000000000000000004000000000000000000000000000
  7096. 080002000000000000000000000000004000000000000000000000000000
  7097. 080002000000000000000000000000004000000000000000000000000000
  7098. 080002000000000000000000000000004000000000000000000000000000
  7099. 080002000000000000000000000000004000000000000000000000000000
  7100. 080002001000200040008001000200044000000000000000000000000000
  7101. 080002000800100020004000800100024000000000000000000000000000
  7102. 080002000400080010002000400080014000000000000000000000000000
  7103. 080003FFFFFFFFFFFFFFFFFFFFFFFFFFC000000000000000000000000000
  7104. 080002000400080010002000400080010000000000000000000000000000
  7105. 080002000800100020004000800100020000000000000000000000000000
  7106. 080002001000200040008001000200040000000000000000000000000000
  7107. 080002000000000000000000000000000000000000000000000000000000
  7108. 080002000000000000000000000000000000000000000000000000000000
  7109. 080002000000000000000000000000000000000000000000000000000000
  7110. 080002000000000000000000000000000000000000000000000000000000
  7111. 080002000000000000000000000000000000000000000000000000000000
  7112. 0FFFFE000000000000000000000000000000000000000000000000000000
  7113. 000000000000000000000000000000000000000000000000000000000000
  7114. 000000000000000000000000000000000000000000000000000000000000
  7115. 000000000000000000000000000000000000000000000000000000000000
  7116. 000000000000000000000000000000000000000000000000000000000000
  7117. 000000000000000000000000000000000000000000000000000000000000
  7118. 000000000000000000000000000000000000000000000000000000000000
  7119. 00000000000000000000000000000000000000000000FFFFE00000000000
  7120. 000000000000000000000000000000000000000000008000200000000000
  7121. 000000000000000000000000000000000000000000008000200000000000
  7122. 000000000000000000000000000000000000000000008000200000000000
  7123. 0000000000000000000000000000000000000000000080C0200000000000
  7124. 000000000000000000000000000000000002000400088D38200000000000
  7125. 000000000000000000000000000000000001000200049324200000000000
  7126. 000000000000000000000000000000000000800100029324200000000000
  7127. 000000000000000000000000000000003FFFFFFFFFFF8925200000000000
  7128. 000000000000000000000000000000002000800100028926A00000000000
  7129. 00000000000000000000000000000000200100020004B404A00000000000
  7130. 00000000000000000000000000000000200200040008CC00A00000000000
  7131. 00000000000000000000000000000000700000000000C400A00000000000
  7132. 00000000000000000000000000000000A80000000000A001200000000000
  7133. 000000000000000000000000000000012400000000009001200000000000
  7134. 000000000000000000000000000000002000000000009002200000000000
  7135. 000000000000000000000000000000002000000000008802200000000000
  7136. 000000000000000000000000000000002000000000008802200000000000
  7137. 000000000000000000000000000000002000000000008404200000000000
  7138. 00000000000000000000000000000000200000000000E204E00000000000
  7139. 000000000000000000000000000000002000000000000204000000000000
  7140. 000000000000000000000000000000002000000000000000000000000000
  7141. 000000000000000000000000000000002000000000000000000000000000
  7142. 000000000000000000000000000000002000000000000000000000000000
  7143. 000000000000000000000000000000002000000000000000000000000000
  7144. 000000000000000000000000000000002000000000000000000000000000
  7145. T 227 95 192 205 30 227 95 T 0 db
  7146. 000000000000000000000000000000002000000000000000000000000000
  7147. 000000000000000000000000000000002000000000000000000000000000
  7148. 000000000000000000000000000000002000000000000000000000000000
  7149. 000000000000000000000000000000002000000000000000000000000000
  7150. 000000000000000000000000000000002000000000000000000000000000
  7151. 000000000000000000000000000000002000000000000000000000000000
  7152. 000000000000000000000000000000007000000000000000000000000000
  7153. 00000000000000000000000000000000A800000000000000000000000000
  7154. 000000000000000000000000000000012400000000000000000000000000
  7155. 000000000000000000000000000000002000000000000000000000000000
  7156. 000000000000000000000000000000002000000000000000000000000000
  7157. 000000000000000000000000000000002000000000000000000000000000
  7158. 000000000000000000000000000000002000000000000000000000000000
  7159. 000000000000000000000000000000002000000000000000000000000000
  7160. 000000000000000000000000000000002000000000000000000000000000
  7161. 000000000000000000000000000000002000000000000000000000000000
  7162. 000000000000000000000000000000002000000000000000000000000000
  7163. 000000000000000000000000000000002000000000000000000000000000
  7164. 000000000000000000000000000000002000000000000000000000000000
  7165. 000000000000000000000000000000002000000000000000000000000000
  7166. 000000000000000000000000000000002000000000000000000000000000
  7167. 000000000000000000000000000000007000000000000000000000000000
  7168. 00000000000000000000000000000000A800000000000000000000000000
  7169. 000000000000000000000000000000012400000000000000000000000000
  7170. 000000000000000000000000000000002000000000000000000000000000
  7171. 000000000000000000000000000000002000000000000000000000000000
  7172. 000000000000000000000000000000002000000000000000000000000000
  7173. 000000000000000000000000000000002000000000000000000000000000
  7174. 000000000000000000000000000000002000000000000000000000000000
  7175. 000000000000000000000000000000002000000000000000000000000000
  7176. 000000000000000000000000000000002000000000000000000000000000
  7177. 000000000000000000000000000000002000000000000000000000000000
  7178. 000000000000000000000000000000002000000000000000000000000000
  7179. 000000000000000000000000000000002000000000000000000000000000
  7180. 000000000000000000000000000000002000000000000000000000000000
  7181. 000000000000000000000000000000002000000000000000000000000000
  7182. 000000000000000000000000000000002000000000000000000000000000
  7183. 000000000000000000000000000000007000000000000000000000000000
  7184. 00000000000000000000000000000000A800000000000000000000000000
  7185. 000000000000000000000000000000012400000000000000000000000000
  7186. 000000000000000000000000000000002000000000000000000000000000
  7187. 000000000000000000000000000000002000000000000000000000000000
  7188. 000000000000000000000000000000002000000000000000000000000000
  7189. 000000000000000000000000000000002000000000000000000000000000
  7190. 000000000000000000000000000000002000000000000000000000000000
  7191. 000000000000000000000000000000002000000000000000000000000000
  7192. 000000000000000000000000000000002000000000000000000000000000
  7193. 000000000000000000000000000000002000000000000000000000000000
  7194. 000000000000000000000000000000002000000000000000000000000000
  7195. 000000000000000000000000000000002000000000000000000000000000
  7196. 000000000000000000000000000000002000000000000000000000000000
  7197. 000000000000000000000000000000002000000000000000000000000000
  7198. 000000000000000000000000000000007000000000000000000000000000
  7199. 00000000000000000000000000000000A800000000000000000000000000
  7200. 000000000000000000000000000000012400000000000000000000000000
  7201. 000000000000000000000000000000002000000000000000000000000000
  7202. 000000000000000000000000000000002000000000000000000000000000
  7203. 000000000000000000000000000000002000000000000000000000000000
  7204. 000000000000000000000000000000002000000000000000000000000000
  7205. 000000000000000000000000000000002000000000000000000000000000
  7206. 000000000000000000000000000000002000000000000000000000000000
  7207. 000000000000000000000000000000002000000000000000000000000000
  7208. 000000000000000000000000000000002000000000000000000000000000
  7209. 000000000000000000000000000000002000000000000000000000000000
  7210. 000000000000000000000000000000002000000000000000000000000000
  7211. 000000000000000000000000000000002000000000000000000000000000
  7212. 000000000000000000000000000000002000000000000000000000000000
  7213. 000000000000000000000000000000007000000000000000000000000000
  7214. 00000000000000000000000000000000A800000000000000000000000000
  7215. 000000000000000000000000000000012400000000000000000000000000
  7216. 000000000000000000000000000000002000000000000000000000000000
  7217. 000000000000000000000000000000002000000000000000000000000000
  7218. 07FFFF000000000000000000000000002000000000000000000000000000
  7219. 040001000000000000000000000000002000000000000000000000000000
  7220. 040001000000000000000000000000002000000000000000000000000000
  7221. 040001000000000000000000000000002000000000000000000000000000
  7222. 040001000000000000000000000000002000000000000000000000000000
  7223. 040001000000000000000000000000002000000000000000000000000000
  7224. 040001000800100020004000800100022000000000000000000000000000
  7225. 040001000400080010002000400080012000000000000000000000000000
  7226. 04000100020004000800100020004000A000000000000000000000000000
  7227. 040001FFFFFFFFFFFFFFFFFFFFFFFFFFE000000000000000000000000000
  7228. 040001000200040008001000200040008000000000000000000000000000
  7229. 040001000400080010002000400080010000000000000000000000000000
  7230. 040001000800100020004000800100020000000000000000000000000000
  7231. 040001000000000000000000000000000000000000000000000000000000
  7232. 040001000000000000000000000000000000000000000000000000000000
  7233. 040001000000000000000000000000000000000000000000000000000000
  7234. 040001000000000000000000000000000000000000000000000000000000
  7235. 040001000000000000000000000000000000000000000000000000000000
  7236. 07FFFF000000000000000000000000000000000000000000000000000000
  7237. 000000000000000000000000000000000000000000000000000000000000
  7238. 000000000000000000000000000000000000000000000000000000000000
  7239. 000000000000000000000000000000000000000000000000000000000000
  7240. 000000000000000000000000000000000000000000000000000000000000
  7241. 000000000000000000000000000000000000000000000000000000000000
  7242. 000000000000000000000000000000000000000000000000000000000000
  7243. 000000000000000000000000000000000000000000000000000000000000
  7244. 000000000000000000000000000000000000000000000000000000000000
  7245. 331 155 gm
  7246. (nc 32 30 762 582 6 rc)kp
  7247. bu fc
  7248. 2 F /|______Times-Roman fnt
  7249. bn
  7250. -0.08639 0.(Figure 4.2  Moving a Box with Link that has more than one line)ashow
  7251. 367 81 gm
  7252. 1.02920 0. 32 0.10292 0.(One other important method in FoibleLink is the )awidthshow
  7253. 2 fs
  7254. bu fc
  7255. 2 F /|______Times-Italic fnt
  7256. bn
  7257. 0.28303 0.(defaultLineClass)ashow
  7258. 0 fs
  7259. bu fc
  7260. 2 F /|______Times-Roman fnt
  7261. bn
  7262. 1.00524 0. 32 0.10052 0.( method.  This method)awidthshow
  7263. 391 81 gm
  7264. 0.67611 0. 32 0.06761 0.(returns the class of FoibleLine that will be used in its path.  This makes it easy to subclass)awidthshow
  7265. 415 81 gm
  7266. -0.11849 0.(FoibleLink and FoibleLine and give each type of link a unique appearance.)ashow
  7267. 451 81 gm
  7268. -0.10934 0.(FoibleLink protocol for accessing:)ashow
  7269. 475 81 gm
  7270. 1 fs
  7271. bu fc
  7272. 2 F /|______Times-Bold fnt
  7273. bn
  7274. 0.55639 0.(defaultLineClass)ashow
  7275. 475 225 gm
  7276. 0 fs
  7277. bu fc
  7278. 2 F /|______Times-Roman fnt
  7279. bn
  7280. -0.10411 0.(return the class of line to use in my path)ashow
  7281. 547 81 gm
  7282. 1 fs
  7283. bu fc
  7284. 2 F /|______Times-Bold fnt
  7285. bn
  7286. 1.99996 0.(4.2.)ashow
  7287. 547 117 gm
  7288. 0.44630 0.(FoibleManager)ashow
  7289. 595 81 gm
  7290. 0 fs
  7291. bu fc
  7292. 2 F /|______Times-Roman fnt
  7293. bn
  7294. 0.52597 0. 32 0.05259 0.(A FoibleManager is responsible for a part of the screen in a FOIBLE application and keeps)awidthshow
  7295. 619 81 gm
  7296. 0.12741 0. 32 0.01274 0.(track of the Foibles in that screen area.  It can locate its Foibles that meet certain criteria, and)awidthshow
  7297. 643 81 gm
  7298. 0.01876 0. 32 0.00187 0.(can display some or all of its Foibles.  FoibleManager also has protocol for adding new boxes)awidthshow
  7299. 667 81 gm
  7300. -0.06199 0.(and links to its area.)ashow
  7301. F T cp
  7302. %%Page: ? 45
  7303. op
  7304. 32 30 xl
  7305. 1 1 pen
  7306. 735 300 gm
  7307. (nc 32 30 762 582 6 rc)kp
  7308. 1 setTxMode
  7309. 0 fs
  7310. 12 fz
  7311. bu fc
  7312. 2 F /|______Times-Roman fnt
  7313. bn
  7314. (41)show
  7315. 93 81 gm
  7316. -0.12944 0.(FoibleManager protocol for adding:)ashow
  7317. 117 81 gm
  7318. 1 fs
  7319. bu fc
  7320. 2 F /|______Times-Bold fnt
  7321. bn
  7322. 3.61999 0. 32 0.36199 0.(addBox: aBlock)awidthshow
  7323. 117 225 gm
  7324. 0 fs
  7325. bu fc
  7326. 2 F /|______Times-Roman fnt
  7327. bn
  7328. -0.09651 0.(add a new box  created with aBlock, give the box a unique name)ashow
  7329. 141 81 gm
  7330. 1 fs
  7331. bu fc
  7332. 2 F /|______Times-Bold fnt
  7333. bn
  7334. 2.46185 0. 32 0.24618 0.(addLink: aClass from: source)awidthshow
  7335. 141 261 gm
  7336. 0 fs
  7337. bu fc
  7338. 2 F /|______Times-Roman fnt
  7339. bn
  7340. -0.08979 0.(create a new link of class aClass from source to)ashow
  7341. 159 81 gm
  7342. 0.22430 0. 32 0.02243 0.(  )awidthshow
  7343. 1 fs
  7344. bu fc
  7345. 2 F /|______Times-Bold fnt
  7346. bn
  7347. 1.92825 0. 32 0.19282 0.(to: dest withPath: aPath)awidthshow
  7348. 159 261 gm
  7349. 0 fs
  7350. bu fc
  7351. 2 F /|______Times-Roman fnt
  7352. bn
  7353. -0.10397 0.(dest with path aPath)ashow
  7354. 195 81 gm
  7355. 0.35781 0. 32 0.03578 0.(When a new box is added, the method )awidthshow
  7356. 2 fs
  7357. bu fc
  7358. 2 F /|______Times-Italic fnt
  7359. bn
  7360. 0.15484 0.(nameNum)ashow
  7361. 0 fs
  7362. bu fc
  7363. 2 F /|______Times-Roman fnt
  7364. bn
  7365. 0.32424 0. 32 0.03242 0.( is used to give a unique name to each new)awidthshow
  7366. 219 81 gm
  7367. -0.07533 0.(box that is created in a FoibleManager's area.)ashow
  7368. 255 81 gm
  7369. -0.00543 0.(When a FoibleManager is sent a display message, it is given an area of the window that needs)ashow
  7370. 279 81 gm
  7371. 0.36849 0. 32 0.03684 0.(to be updated.  This area is the only area in the window that has been modified, so it is only)awidthshow
  7372. 303 81 gm
  7373. 1.03622 0. 32 0.10362 0.(necessary to redisplay the objects that are in this area.  FoibleManager checks each of its)awidthshow
  7374. 327 81 gm
  7375. 0.05813 0. 32 0.00581 0.(Foibles to see if any part of the Foible's image intersects with the update area.  If it does, then)awidthshow
  7376. 351 81 gm
  7377. -0.08660 0.(FoibleManager sends the display message to the Foible.)ashow
  7378. 387 81 gm
  7379. 1.68014 0. 32 0.16801 0.(FoibleManager also has protocol for moving the Foibles within its area.  Tool actually)awidthshow
  7380. 411 81 gm
  7381. -0.09278 0.(implements the operations to change the image of a link.  When a box is moved, the Tool sends)ashow
  7382. 435 81 gm
  7383. 0.68481 0. 32 0.06848 0.(the )awidthshow
  7384. 2 fs
  7385. bu fc
  7386. 2 F /|______Times-Italic fnt
  7387. bn
  7388. 1.38015 0. 32 0.13801 0.(moveBox: byBlock: )awidthshow
  7389. 0 fs
  7390. bu fc
  7391. 2 F /|______Times-Roman fnt
  7392. bn
  7393. 0.98083 0. 32 0.09808 0.(message to the manager of the box.  Evaluating the block usually)awidthshow
  7394. 459 81 gm
  7395. -0.03182 0.(results in assigning the box to its new location.  If the box is moved out of its FoibleManager's)ashow
  7396. 483 81 gm
  7397. -0.08456 0.(area then it is given a new manager.  The FoibleManager sends the message )ashow
  7398. 2 fs
  7399. bu fc
  7400. 2 F /|______Times-Italic fnt
  7401. bn
  7402. -0.09481 0.(moveFoiblesBy:)ashow
  7403. 0 fs
  7404. bu fc
  7405. 2 F /|______Times-Roman fnt
  7406. bn
  7407. -0.10502 0.( to)ashow
  7408. 507 81 gm
  7409. -0.08172 0.(the box to update the images of any links that are connected to the box.  If the box is a complex)ashow
  7410. 531 81 gm
  7411. 0.12222 0. 32 0.01222 0.(box then the message )awidthshow
  7412. 2 fs
  7413. bu fc
  7414. 2 F /|______Times-Italic fnt
  7415. bn
  7416. 0.03936 0.(moveAllBy:)ashow
  7417. 0 fs
  7418. bu fc
  7419. 2 F /|______Times-Roman fnt
  7420. bn
  7421. 0.11322 0. 32 0.01132 0.( is sent to the companion manager of the box.  This method)awidthshow
  7422. 555 81 gm
  7423. -0.10342 0.(moves all of the Foibles that are contained in the box.)ashow
  7424. 591 81 gm
  7425. -0.12968 0.(FoibleManager protocol for moving:)ashow
  7426. 615 81 gm
  7427. 1 fs
  7428. bu fc
  7429. 2 F /|______Times-Bold fnt
  7430. bn
  7431. 3.85528 0. 32 0.38552 0.(moveAllBy: aPoint)awidthshow
  7432. 615 297 gm
  7433. 0 fs
  7434. bu fc
  7435. 2 F /|______Times-Roman fnt
  7436. bn
  7437. -0.12185 0.(move all of the Foibles that I manage by aPoint)ashow
  7438. 639 81 gm
  7439. 1 fs
  7440. bu fc
  7441. 2 F /|______Times-Bold fnt
  7442. bn
  7443. 3.50784 0. 32 0.35078 0.(moveBox: aBox byBlock: aBlock)awidthshow
  7444. 639 297 gm
  7445. 0 fs
  7446. bu fc
  7447. 2 F /|______Times-Roman fnt
  7448. bn
  7449. -0.12925 0.(move aBox according to aBlock)ashow
  7450. F T cp
  7451. %%Page: ? 46
  7452. op
  7453. 32 30 xl
  7454. 1 1 pen
  7455. 735 300 gm
  7456. (nc 32 30 762 582 6 rc)kp
  7457. 1 setTxMode
  7458. 0 fs
  7459. 12 fz
  7460. bu fc
  7461. 2 F /|______Times-Roman fnt
  7462. bn
  7463. (42)show
  7464. 93 81 gm
  7465. -0.03657 0.(A FoibleManger can send the )ashow
  7466. 2 fs
  7467. bu fc
  7468. 2 F /|______Times-Italic fnt
  7469. bn
  7470. -0.03060 0.(offset)ashow
  7471. 0 fs
  7472. bu fc
  7473. 2 F /|______Times-Roman fnt
  7474. bn
  7475. -0.03323 0.( message to its Foibles to determine their location, and this)ashow
  7476. 117 81 gm
  7477. -0.00526 0.(allows a FoibleManager to locate its Foibles that meet certain criteria.  Most of these methods)ashow
  7478. 141 81 gm
  7479. -0.08296 0.(are used by tools to select a Foible to perform an operation on.)ashow
  7480. 177 81 gm
  7481. -0.12568 0.(FoibleManager protocol for finding:)ashow
  7482. 201 81 gm
  7483. 1 fs
  7484. bu fc
  7485. 2 F /|______Times-Bold fnt
  7486. bn
  7487. 2.86193 0. 32 0.28619 0.(find: aPoint)awidthshow
  7488. 201 225 gm
  7489. 0 fs
  7490. bu fc
  7491. 2 F /|______Times-Roman fnt
  7492. bn
  7493. -0.07965 0.(return the topmost of my Foibles, if any, that is located at aPoint)ashow
  7494. 225 81 gm
  7495. 1 fs
  7496. bu fc
  7497. 2 F /|______Times-Bold fnt
  7498. bn
  7499. 3.44680 0. 32 0.34468 0.(findSuchThat: aBlock)awidthshow
  7500. 225 225 gm
  7501. 0 fs
  7502. bu fc
  7503. 2 F /|______Times-Roman fnt
  7504. bn
  7505. -0.09523 0.(return the topmost of my Foibles, that evaluates aBlock as true)ashow
  7506. 249 81 gm
  7507. 1 fs
  7508. bu fc
  7509. 2 F /|______Times-Bold fnt
  7510. bn
  7511. 0.30319 0. 32 0.03031 0.(findAllSuchThat: aBlock     )awidthshow
  7512. 0 fs
  7513. bu fc
  7514. 2 F /|______Times-Roman fnt
  7515. bn
  7516. 0.33828 0. 32 0.03382 0.(return a collection of my Foibles that evaluate aBlock as true)awidthshow
  7517. 285 81 gm
  7518. 0.18997 0. 32 0.01899 0.(For example, the Tool )awidthshow
  7519. 2 fs
  7520. bu fc
  7521. 2 F /|______Times-Italic fnt
  7522. bn
  7523. 0.20004 0. 32 0.02000 0.(delete )awidthshow
  7524. 0 fs
  7525. bu fc
  7526. 2 F /|______Times-Roman fnt
  7527. bn
  7528. 0.18875 0. 32 0.01887 0.(method sends the block [:it | it canBeDeleted] as a parameter to)awidthshow
  7529. 309 81 gm
  7530. 2 fs
  7531. bu fc
  7532. 2 F /|______Times-Italic fnt
  7533. bn
  7534. -0.00622 0.(findSuchThat:)ashow
  7535. 0 fs
  7536. bu fc
  7537. 2 F /|______Times-Roman fnt
  7538. bn
  7539. -0.00576 0.(.  The FoibleManager that receives this would return its topmost Foible, located)ashow
  7540. 333 81 gm
  7541. -0.09228 0.(at aPoint, that could be deleted.)ashow
  7542. 369 81 gm
  7543. 0.35903 0. 32 0.03590 0.(When Foibles are deleted from the system, the FoibleManager is sent a remove message.  A)awidthshow
  7544. 393 81 gm
  7545. -0.11796 0.(FoibleManager can delete a specific Foible or all of its Foibles.)ashow
  7546. 429 81 gm
  7547. -0.13140 0.(FoibleManager protocol for removing:)ashow
  7548. 453 81 gm
  7549. 1 fs
  7550. bu fc
  7551. 2 F /|______Times-Bold fnt
  7552. bn
  7553. 3.34976 0. 32 0.33497 0.(remove: aFoible)awidthshow
  7554. 453 225 gm
  7555. 0 fs
  7556. bu fc
  7557. 2 F /|______Times-Roman fnt
  7558. bn
  7559. -0.11308 0.(remove aFoible from the system)ashow
  7560. 477 81 gm
  7561. 1 fs
  7562. bu fc
  7563. 2 F /|______Times-Bold fnt
  7564. bn
  7565. 0.58712 0.(removeAll)ashow
  7566. 477 225 gm
  7567. 0 fs
  7568. bu fc
  7569. 2 F /|______Times-Roman fnt
  7570. bn
  7571. -0.12164 0.(remove all of the Foibles that I manage from the system)ashow
  7572. 513 81 gm
  7573. 0.36331 0. 32 0.03633 0.(FoibleManagers are used to manage Foibles in two different situations.  In the top level of a)awidthshow
  7574. 537 81 gm
  7575. -0.10099 0.(Foible application, each canvas has a FoibleManager to manage all of the Foibles in the canvas.)ashow
  7576. 561 81 gm
  7577. 0.96847 0. 32 0.09684 0.(Since there can be one or more canvases in a particular system, there can be one or more)awidthshow
  7578. 585 81 gm
  7579. -0.07717 0.(FoibleManagers at the top level.  FoibleManagers are also used to manage the Foibles inside of)ashow
  7580. 609 81 gm
  7581. 0.21286 0. 32 0.02128 0.(complex boxes.  Every complex box will have its own companion FoibleManager.  To allow)awidthshow
  7582. 633 81 gm
  7583. -0.08836 0.(for the different types of managers, FoibleManager has some access methods that are only used)ashow
  7584. 657 81 gm
  7585. -0.05839 0.(by one type of manager.)ashow
  7586. F T cp
  7587. %%Page: ? 47
  7588. op
  7589. 32 30 xl
  7590. 1 1 pen
  7591. 735 300 gm
  7592. (nc 32 30 762 582 6 rc)kp
  7593. 1 setTxMode
  7594. 0 fs
  7595. 12 fz
  7596. bu fc
  7597. 2 F /|______Times-Roman fnt
  7598. bn
  7599. (43)show
  7600. 105 81 gm
  7601. -0.12734 0.(FoibleManager protocol for accessing:)ashow
  7602. 129 81 gm
  7603. 1 fs
  7604. bu fc
  7605. 2 F /|______Times-Bold fnt
  7606. bn
  7607. 3.33541 0. 32 0.33354 0.(myBox )awidthshow
  7608. 129 153 gm
  7609. 0 fs
  7610. bu fc
  7611. 2 F /|______Times-Roman fnt
  7612. bn
  7613. -0.10345 0.(return my companion box if I am a complex box manager, return nil if I am not)ashow
  7614. 153 81 gm
  7615. 1 fs
  7616. bu fc
  7617. 2 F /|______Times-Bold fnt
  7618. bn
  7619. 1.57852 0. 32 0.15785 0.(program )awidthshow
  7620. 153 153 gm
  7621. 0 fs
  7622. bu fc
  7623. 2 F /|______Times-Roman fnt
  7624. bn
  7625. -0.12442 0.(return the FoibleProgram for the entire application, if I am a top level manager)ashow
  7626. 213 81 gm
  7627. 1 fs
  7628. bu fc
  7629. 2 F /|______Times-Bold fnt
  7630. bn
  7631. 1.99996 0.(4.3.)ashow
  7632. 213 117 gm
  7633. 4.41299 0. 32 0.44129 0.(Palette, ToolBenchView, CanvasView)awidthshow
  7634. 249 81 gm
  7635. 0 fs
  7636. bu fc
  7637. 2 F /|______Times-Roman fnt
  7638. bn
  7639. 1.47186 0. 32 0.14718 0.(Developers should not have to implement much code for the views and controllers of a)awidthshow
  7640. 273 81 gm
  7641. -0.07409 0.(FOIBLE application.  All of the interaction between the different views has been implemented,)ashow
  7642. 297 81 gm
  7643. -0.05709 0.(however some methods that deal with the specific tools in an application must be implemented)ashow
  7644. 321 81 gm
  7645. 1.44882 0. 32 0.14488 0.(by developers.  To give the reader a better understanding of how tools are selected and)awidthshow
  7646. 345 81 gm
  7647. 2.04483 0. 32 0.20448 0.(installed, we also describe some of the methods that the views and controllers use to)awidthshow
  7648. 369 81 gm
  7649. -0.14918 0.(communicate.)ashow
  7650. 405 81 gm
  7651. -0.01757 0.(ToolBenchView has several important methods that must be implemented by subclasses.  The)ashow
  7652. 429 81 gm
  7653. 2 fs
  7654. bu fc
  7655. 2 F /|______Times-Italic fnt
  7656. bn
  7657. -0.00967 0.(installCanvasTools )ashow
  7658. 0 fs
  7659. bu fc
  7660. 2 F /|______Times-Roman fnt
  7661. bn
  7662. -0.00935 0.(method sends each canvas in the application a collection of Tools that can)ashow
  7663. 453 81 gm
  7664. 0.10498 0. 32 0.01049 0.(be installed in that canvas.  The )awidthshow
  7665. 2 fs
  7666. bu fc
  7667. 2 F /|______Times-Italic fnt
  7668. bn
  7669. 0.03297 0.(tools)ashow
  7670. 0 fs
  7671. bu fc
  7672. 2 F /|______Times-Roman fnt
  7673. bn
  7674. 0.11383 0. 32 0.01138 0.( method returns a collection of icons that are used in the)awidthshow
  7675. 477 81 gm
  7676. -0.13088 0.(palette to represent each tool.)ashow
  7677. 513 81 gm
  7678. -0.11660 0.(ToolBenchView subclass protocol:)ashow
  7679. 537 81 gm
  7680. 1 fs
  7681. bu fc
  7682. 2 F /|______Times-Bold fnt
  7683. bn
  7684. 0.62713 0.(installCanvasTools)ashow
  7685. 537 225 gm
  7686. 0 fs
  7687. bu fc
  7688. 2 F /|______Times-Roman fnt
  7689. bn
  7690. -0.11621 0.(give each of my canvases an OrderedCollection of tools to store)ashow
  7691. 561 81 gm
  7692. 1 fs
  7693. bu fc
  7694. 2 F /|______Times-Bold fnt
  7695. bn
  7696. 1.00143 0.(tools)ashow
  7697. 561 225 gm
  7698. 0 fs
  7699. bu fc
  7700. 2 F /|______Times-Roman fnt
  7701. bn
  7702. -0.14239 0.(return an OrderedCollection of the tool icons for the palette)ashow
  7703. 597 81 gm
  7704. 0.57281 0. 32 0.05728 0.(PaletteController stores the collection of the icons for the Palette.  When a new tool icon is)awidthshow
  7705. 621 81 gm
  7706. -0.03552 0.(selected in the palette, PaletteController sends the )ashow
  7707. 2 fs
  7708. bu fc
  7709. 2 F /|______Times-Italic fnt
  7710. bn
  7711. -0.03631 0.(installTool:)ashow
  7712. 0 fs
  7713. bu fc
  7714. 2 F /|______Times-Roman fnt
  7715. bn
  7716. -0.04176 0.( message to its ToolBenchView,)ashow
  7717. 645 81 gm
  7718. 2.44842 0. 32 0.24484 0.(and the ToolBenchView sends the )awidthshow
  7719. 2 fs
  7720. bu fc
  7721. 2 F /|______Times-Italic fnt
  7722. bn
  7723. 0.55899 0.(installTool:)ashow
  7724. 0 fs
  7725. bu fc
  7726. 2 F /|______Times-Roman fnt
  7727. bn
  7728. 2.29583 0. 32 0.22958 0.( message to each CanvasView.  Each)awidthshow
  7729. 669 81 gm
  7730. -0.11926 0.(CanvasView then sends the )ashow
  7731. 2 fs
  7732. bu fc
  7733. 2 F /|______Times-Italic fnt
  7734. bn
  7735. -0.10386 0.(tool:)ashow
  7736. 0 fs
  7737. bu fc
  7738. 2 F /|______Times-Roman fnt
  7739. bn
  7740. -0.10539 0.( message to its controller to install the new tool.)ashow
  7741. F T cp
  7742. %%Page: ? 48
  7743. op
  7744. 32 30 xl
  7745. 1 1 pen
  7746. 735 300 gm
  7747. (nc 32 30 762 582 6 rc)kp
  7748. 1 setTxMode
  7749. 0 fs
  7750. 12 fz
  7751. bu fc
  7752. 2 F /|______Times-Roman fnt
  7753. bn
  7754. (44)show
  7755. 93 81 gm
  7756. -0.12681 0.(CanvasView protocol for private:)ashow
  7757. 117 81 gm
  7758. 1 fs
  7759. bu fc
  7760. 2 F /|______Times-Bold fnt
  7761. bn
  7762. 4.34921 0. 32 0.43492 0.(addTools: toolCollection)awidthshow
  7763. 117 261 gm
  7764. 0 fs
  7765. bu fc
  7766. 2 F /|______Times-Roman fnt
  7767. bn
  7768. -0.11369 0.(store this collection of tools)ashow
  7769. 141 81 gm
  7770. 1 fs
  7771. bu fc
  7772. 2 F /|______Times-Bold fnt
  7773. bn
  7774. 4.08859 0. 32 0.40885 0.(installTool: toolIndex)awidthshow
  7775. 141 261 gm
  7776. 0 fs
  7777. bu fc
  7778. 2 F /|______Times-Roman fnt
  7779. bn
  7780. -0.14189 0.(tell my controller to install this new tool)ashow
  7781. 177 81 gm
  7782. -0.14494 0.(ToolBenchView protocol for private:)ashow
  7783. 201 81 gm
  7784. 1 fs
  7785. bu fc
  7786. 2 F /|______Times-Bold fnt
  7787. bn
  7788. 4.08859 0. 32 0.40885 0.(installTool: toolIndex)awidthshow
  7789. 201 225 gm
  7790. 0 fs
  7791. bu fc
  7792. 2 F /|______Times-Roman fnt
  7793. bn
  7794. -0.13301 0.(tell each of my canvases to install the new tool)ashow
  7795. 237 81 gm
  7796. -0.10379 0.(CanvasController protocol for tool access:)ashow
  7797. 261 81 gm
  7798. 1 fs
  7799. bu fc
  7800. 2 F /|______Times-Bold fnt
  7801. bn
  7802. 0.89091 0.(tool)ashow
  7803. 261 225 gm
  7804. 0 fs
  7805. bu fc
  7806. 2 F /|______Times-Roman fnt
  7807. bn
  7808. -0.15895 0.(return the currently active tool)ashow
  7809. 285 81 gm
  7810. 1 fs
  7811. bu fc
  7812. 2 F /|______Times-Bold fnt
  7813. bn
  7814. 3.17077 0. 32 0.31707 0.(tool: aTool)awidthshow
  7815. 285 225 gm
  7816. 0 fs
  7817. bu fc
  7818. 2 F /|______Times-Roman fnt
  7819. bn
  7820. -0.15113 0.(set aTool as the currently active tool)ashow
  7821. 321 81 gm
  7822. 0.88134 0. 32 0.08813 0.(ToolBenchView also has the protocol for opening a window on an application.  There are)awidthshow
  7823. 345 81 gm
  7824. 0.91583 0. 32 0.09158 0.(methods for creating a new program and for reading in a stored program.  These methods)awidthshow
  7825. 369 81 gm
  7826. -0.02297 0.(create all of the views and controllers and set up the relationships between them.  Sending one)ashow
  7827. 393 81 gm
  7828. -0.03987 0.(of these messages to the subclass of ToolBenchView opens a new window and allows the user)ashow
  7829. 417 81 gm
  7830. -0.11174 0.(to create and/or edit a visual program.)ashow
  7831. 453 81 gm
  7832. -0.13775 0.(ToolBenchView class protocol for instance creation:)ashow
  7833. 477 81 gm
  7834. 1 fs
  7835. bu fc
  7836. 2 F /|______Times-Bold fnt
  7837. bn
  7838. 0.43559 0.(openProgram)ashow
  7839. 477 261 gm
  7840. 0 fs
  7841. bu fc
  7842. 2 F /|______Times-Roman fnt
  7843. bn
  7844. -0.09890 0.(open an existing program that has been saved)ashow
  7845. 501 81 gm
  7846. 1 fs
  7847. bu fc
  7848. 2 F /|______Times-Bold fnt
  7849. bn
  7850. 2.46231 0. 32 0.24623 0.(openProgram: aProgram)awidthshow
  7851. 501 261 gm
  7852. 0 fs
  7853. bu fc
  7854. 2 F /|______Times-Roman fnt
  7855. bn
  7856. -0.10441 0.(open the program named aProgram that has been saved)ashow
  7857. 525 81 gm
  7858. 1 fs
  7859. bu fc
  7860. 2 F /|______Times-Bold fnt
  7861. bn
  7862. 3.02062 0. 32 0.30206 0.(openOn: aFoibleProgram)awidthshow
  7863. 525 261 gm
  7864. 0 fs
  7865. bu fc
  7866. 2 F /|______Times-Roman fnt
  7867. bn
  7868. -0.04353 0.(open up a new window on aFoibleProgram)ashow
  7869. 561 81 gm
  7870. 3.37326 0. 32 0.33732 0.(There is one other important method that must be implemented by subclasses of)awidthshow
  7871. 585 81 gm
  7872. -0.03817 0.(ToolBenchView.  The )ashow
  7873. 2 fs
  7874. bu fc
  7875. 2 F /|______Times-Italic fnt
  7876. bn
  7877. -0.04048 0.(open)ashow
  7878. 0 fs
  7879. bu fc
  7880. 2 F /|______Times-Roman fnt
  7881. bn
  7882. -0.03524 0.( method sets up the number of canvases and the managers for each)ashow
  7883. 609 81 gm
  7884. 0.80337 0. 32 0.08033 0.(of the canvases.  It is usually a simple method to implement \(probably only a few lines of)awidthshow
  7885. 633 81 gm
  7886. -0.07360 0.(code\), but it is a very important method.)ashow
  7887. F T cp
  7888. %%Page: ? 49
  7889. op
  7890. 32 30 xl
  7891. 1 1 pen
  7892. 735 300 gm
  7893. (nc 32 30 762 582 6 rc)kp
  7894. 1 setTxMode
  7895. 0 fs
  7896. 12 fz
  7897. bu fc
  7898. 2 F /|______Times-Roman fnt
  7899. bn
  7900. (45)show
  7901. 105 81 gm
  7902. -0.09103 0.(ToolBenchView class protocol for subclasses:)ashow
  7903. 123 81 gm
  7904. 1 fs
  7905. bu fc
  7906. 2 F /|______Times-Bold fnt
  7907. bn
  7908. 0.77740 0.(open)ashow
  7909. 123 189 gm
  7910. 0 fs
  7911. bu fc
  7912. 2 F /|______Times-Roman fnt
  7913. bn
  7914. -0.07336 0.(create a new FoibleProgram, set up the canvases and their managers,)ashow
  7915. 141 189 gm
  7916. -0.05062 0.(and open a window on this program)ashow
  7917. 201 81 gm
  7918. 1 fs
  7919. bu fc
  7920. 2 F /|______Times-Bold fnt
  7921. bn
  7922. 1.99996 0.(4.4.)ashow
  7923. 201 117 gm
  7924. 0.88742 0.(Tool)ashow
  7925. 237 81 gm
  7926. 0 fs
  7927. bu fc
  7928. 2 F /|______Times-Roman fnt
  7929. bn
  7930. 1.47155 0. 32 0.14715 0.(Tools convert user operations, like moving and clicking the mouse, into operations in a)awidthshow
  7931. 261 81 gm
  7932. -0.03480 0.(FOIBLE application, like adding, deleting, or moving a box or link.  Thus, a tool is very much)ashow
  7933. 285 81 gm
  7934. 0.69778 0. 32 0.06977 0.(like a controller.  It is not a controller, however, and Tool depends on CanvasController to)awidthshow
  7935. 309 81 gm
  7936. -0.10711 0.(convert controller protocol into Tool protocol.)ashow
  7937. 345 81 gm
  7938. -0.05998 0.(Tool implements many useful functions.  A Tool performs all of the link drawing and creation.)ashow
  7939. 369 81 gm
  7940. 1.03302 0. 32 0.10330 0.(Tool also has protocol to create, move and delete Foibles.  Adding, moving, and deleting)awidthshow
  7941. 393 81 gm
  7942. 1.73355 0. 32 0.17335 0.(elements are operations that are needed in every visual programming language.  These)awidthshow
  7943. 417 81 gm
  7944. 0.82046 0. 32 0.08204 0.(operations can be implemented in separate tools, or as a function of a tool that performs a)awidthshow
  7945. 441 81 gm
  7946. 0.71136 0. 32 0.07113 0.(number of operations.  The implementation is flexible because all Tools can perform these)awidthshow
  7947. 465 81 gm
  7948. -0.07527 0.(tasks, and the Smalltalk menuing system is also very flexible.)ashow
  7949. 501 81 gm
  7950. -0.09498 0.(Tool protocol for menu messages:)ashow
  7951. 525 81 gm
  7952. 1 fs
  7953. bu fc
  7954. 2 F /|______Times-Bold fnt
  7955. bn
  7956. 0.32907 0.(add)ashow
  7957. 525 153 gm
  7958. 0 fs
  7959. bu fc
  7960. 2 F /|______Times-Roman fnt
  7961. bn
  7962. -0.08772 0.(add a new box to the canvas)ashow
  7963. 549 81 gm
  7964. 1 fs
  7965. bu fc
  7966. 2 F /|______Times-Bold fnt
  7967. bn
  7968. 0.60469 0.(delete)ashow
  7969. 549 153 gm
  7970. 0 fs
  7971. bu fc
  7972. 2 F /|______Times-Roman fnt
  7973. bn
  7974. -0.13151 0.(delete a Foible from the system)ashow
  7975. 573 81 gm
  7976. 1 fs
  7977. bu fc
  7978. 2 F /|______Times-Bold fnt
  7979. bn
  7980. 0.39094 0.(getpath)ashow
  7981. 573 153 gm
  7982. 0 fs
  7983. bu fc
  7984. 2 F /|______Times-Roman fnt
  7985. bn
  7986. -0.07781 0.(allow the user to draw a link between two boxes)ashow
  7987. 597 81 gm
  7988. 1 fs
  7989. bu fc
  7990. 2 F /|______Times-Bold fnt
  7991. bn
  7992. 0.60035 0.(layout)ashow
  7993. 597 153 gm
  7994. 0 fs
  7995. bu fc
  7996. 2 F /|______Times-Roman fnt
  7997. bn
  7998. -0.09617 0.(allow the user to create a new layout, retrieve an old layout, or save a layout)ashow
  7999. 633 81 gm
  8000. 0.56976 0. 32 0.05697 0.(Tool uses two methods, )awidthshow
  8001. 2 fs
  8002. bu fc
  8003. 2 F /|______Times-Italic fnt
  8004. bn
  8005. 0.15597 0.(defaultLinkClass)ashow
  8006. 0 fs
  8007. bu fc
  8008. 2 F /|______Times-Roman fnt
  8009. bn
  8010. 0.28625 0. 32 0.02862 0.( and )awidthshow
  8011. 2 fs
  8012. bu fc
  8013. 2 F /|______Times-Italic fnt
  8014. bn
  8015. 0.15597 0.(defaultLineClass)ashow
  8016. 0 fs
  8017. bu fc
  8018. 2 F /|______Times-Roman fnt
  8019. bn
  8020. 0.46600 0. 32 0.04660 0.(, to make it easy to subclass)awidthshow
  8021. 657 81 gm
  8022. -0.05534 0.(FOIBLE classes.  The )ashow
  8023. 2 fs
  8024. bu fc
  8025. 2 F /|______Times-Italic fnt
  8026. bn
  8027. -0.05421 0.(defaultLineClass)ashow
  8028. 0 fs
  8029. bu fc
  8030. 2 F /|______Times-Roman fnt
  8031. bn
  8032. -0.04949 0.( method returns the class that is used for the interactive)ashow
  8033. 681 81 gm
  8034. -0.03379 0.(link drawing and editing.  The )ashow
  8035. 2 fs
  8036. bu fc
  8037. 2 F /|______Times-Italic fnt
  8038. bn
  8039. -0.03591 0.(defaultLinkClass)ashow
  8040. 0 fs
  8041. bu fc
  8042. 2 F /|______Times-Roman fnt
  8043. bn
  8044. -0.03291 0.( method returns the class of link that is created)ashow
  8045. F T cp
  8046. %%Page: ? 50
  8047. op
  8048. 32 30 xl
  8049. 1 1 pen
  8050. 735 300 gm
  8051. (nc 32 30 762 582 6 rc)kp
  8052. 1 setTxMode
  8053. 0 fs
  8054. 12 fz
  8055. bu fc
  8056. 2 F /|______Times-Roman fnt
  8057. bn
  8058. (46)show
  8059. 93 81 gm
  8060. 0.03784 0. 32 0.00378 0.(when two boxes are connected.  This simplifies subclassing FoibleLink and FoibleLine, since)awidthshow
  8061. 117 81 gm
  8062. -0.08859 0.(references to link and line classes are no longer hard-coded in any of the code for Tool.)ashow
  8063. 153 81 gm
  8064. -0.02241 0.(Tool uses class instance variables to store the forms for the images of its icon and cursor.  The)ashow
  8065. 177 81 gm
  8066. 0.27633 0. 32 0.02763 0.(icon image is used in the palette, and the cursor image is used when the Tool is active.  Like)awidthshow
  8067. 201 81 gm
  8068. -0.04542 0.(Foibles, the icons and cursors for Tools are stored in individual files.)ashow
  8069. 237 81 gm
  8070. 0.13137 0. 32 0.01313 0.(Tool also has methods for accessing the model \(a FoibleManager\), view \(a CanvasView\) and)awidthshow
  8071. 261 81 gm
  8072. -0.07809 0.(controller \(a CanvasController\) of the canvas that it is operating in.  A Tool may have to send a)ashow
  8073. 285 81 gm
  8074. -0.05551 0.(message to the model, view, or controller, depending on the operations that the user performs.)ashow
  8075. 345 81 gm
  8076. 1 fs
  8077. bu fc
  8078. 2 F /|______Times-Bold fnt
  8079. bn
  8080. 1.79997 0.(4.4.1.)ashow
  8081. 345 153 gm
  8082. 0.87834 0.(LineSessions)ashow
  8083. 381 81 gm
  8084. 0 fs
  8085. bu fc
  8086. 2 F /|______Times-Roman fnt
  8087. bn
  8088. 0.08300 0. 32 0.00830 0.(LineSessions implement many of the creating and editing functions that are performed on the)awidthshow
  8089. 405 81 gm
  8090. -0.02824 0.(segments of a FoibleLink.  There are two subclasses of LineSession, LineDrawingSession and)ashow
  8091. 429 81 gm
  8092. 0.08590 0. 32 0.00859 0.(LineEditingSession, and there are two subclasses of LineEditingSession, LineMovingSession)awidthshow
  8093. 453 81 gm
  8094. 0.61569 0. 32 0.06156 0.(and LineCuttingSession.  The first version of FOIBLE did not allow line editing, and these)awidthshow
  8095. 477 81 gm
  8096. -0.13012 0.(editing functions are an important enhancement to the user interface.)ashow
  8097. 513 81 gm
  8098. 0.38360 0. 32 0.03836 0.(Tool originally implemented all of the line drawing methods, but the code was not modular.)awidthshow
  8099. 537 81 gm
  8100. 0.43914 0. 32 0.04391 0.(The LineDrawingSession class evolved in the process of simplifying the code.  LineSession)awidthshow
  8101. 561 81 gm
  8102. 0.98526 0. 32 0.09852 0.(does not implement I/O, but it performs calculations and displaying according to a cursor)awidthshow
  8103. 585 81 gm
  8104. 0.10925 0. 32 0.01092 0.(location, which it receives as a parameter in the method )awidthshow
  8105. 2 fs
  8106. bu fc
  8107. 2 F /|______Times-Italic fnt
  8108. bn
  8109. 0.20660 0. 32 0.02066 0.(cursorAt: displayIn:)awidthshow
  8110. 0 fs
  8111. bu fc
  8112. 2 F /|______Times-Roman fnt
  8113. bn
  8114. 0.11184 0. 32 0.01118 0.(.  A LineSession)awidthshow
  8115. 609 81 gm
  8116. 0.76477 0. 32 0.07647 0.(uses the cursor location to determine whether or not to recalculate and redraw its lines.  A)awidthshow
  8117. 633 81 gm
  8118. 0.22628 0. 32 0.02262 0.(LineSession stores the previous cursor location, and if the new cursor location is the same as)awidthshow
  8119. 657 81 gm
  8120. 0.15640 0. 32 0.01564 0.(the previous location then there is no reason for it to recalculate its lines, since the cursor has)awidthshow
  8121. F T cp
  8122. %%Page: ? 51
  8123. op
  8124. 32 30 xl
  8125. 1 1 pen
  8126. 735 300 gm
  8127. (nc 32 30 762 582 6 rc)kp
  8128. 1 setTxMode
  8129. 0 fs
  8130. 12 fz
  8131. bu fc
  8132. 2 F /|______Times-Roman fnt
  8133. bn
  8134. (47)show
  8135. 93 81 gm
  8136. 0.78918 0. 32 0.07891 0.(not moved.  If the cursor location is different then the LineSession erases its current lines,)awidthshow
  8137. 117 81 gm
  8138. -0.06211 0.(calculates and displays its new lines, and stores the new cursor location.)ashow
  8139. 153 81 gm
  8140. 0.25436 0. 32 0.02543 0.(When the session is completed, a LineSession can return its lines, which Tool uses to create,)awidthshow
  8141. 177 81 gm
  8142. 2.18338 0. 32 0.21833 0.(or replace in, the path.  FoibleLines know how to erase and display themselves, and)awidthshow
  8143. 201 81 gm
  8144. -0.08345 0.(LineSession take advantage of these methods.)ashow
  8145. 237 81 gm
  8146. -0.09780 0.(LineSession protocol for line display:)ashow
  8147. 261 81 gm
  8148. 1 fs
  8149. bu fc
  8150. 2 F /|______Times-Bold fnt
  8151. bn
  8152. 2.68249 0. 32 0.26824 0.(cursorAt: aPoint)awidthshow
  8153. 261 225 gm
  8154. 0 fs
  8155. bu fc
  8156. 2 F /|______Times-Roman fnt
  8157. bn
  8158. -0.10707 0.(recalculate my lines, with the cursor located at aPoint,)ashow
  8159. 279 81 gm
  8160. 1 fs
  8161. bu fc
  8162. 2 F /|______Times-Bold fnt
  8163. bn
  8164. 2.34161 0. 32 0.23416 0.(  displayIn: aView)awidthshow
  8165. 279 225 gm
  8166. 0 fs
  8167. bu fc
  8168. 2 F /|______Times-Roman fnt
  8169. bn
  8170. -0.12959 0.(and display my lines in aView)ashow
  8171. 303 81 gm
  8172. 1 fs
  8173. bu fc
  8174. 2 F /|______Times-Bold fnt
  8175. bn
  8176. 3.60214 0. 32 0.36021 0.(displayIn: aView)awidthshow
  8177. 303 225 gm
  8178. 0 fs
  8179. bu fc
  8180. 2 F /|______Times-Roman fnt
  8181. bn
  8182. -0.13758 0.(display my lines in aView)ashow
  8183. 339 81 gm
  8184. 0.63552 0. 32 0.06355 0.(A new LineSession is told the class of line to use when new lines are created.  This allows)awidthshow
  8185. 363 81 gm
  8186. -0.07492 0.(subclassing of FoibleLine, since the references to line classes are not hard-coded.)ashow
  8187. 399 81 gm
  8188. -0.07902 0.(LineSession methods for accessing:)ashow
  8189. 423 81 gm
  8190. 1 fs
  8191. bu fc
  8192. 2 F /|______Times-Bold fnt
  8193. bn
  8194. 0.55639 0.(defaultLineClass)ashow
  8195. 423 261 gm
  8196. 0 fs
  8197. bu fc
  8198. 2 F /|______Times-Roman fnt
  8199. bn
  8200. -0.10273 0.(return the class of line to use when new lines are created)ashow
  8201. 447 81 gm
  8202. 1 fs
  8203. bu fc
  8204. 2 F /|______Times-Bold fnt
  8205. bn
  8206. 3.94607 0. 32 0.39460 0.(defaultLineClass: aClass)awidthshow
  8207. 447 261 gm
  8208. 0 fs
  8209. bu fc
  8210. 2 F /|______Times-Roman fnt
  8211. bn
  8212. -0.11958 0.(set the defaultLineClass to aClass)ashow
  8213. 483 81 gm
  8214. 0.47927 0. 32 0.04792 0.(LineDrawingSession is used in the initial creation of a link.  There are always two movable)awidthshow
  8215. 507 81 gm
  8216. -0.08749 0.(lines during link creation, and LineDrawingSession calculates and displays these lines.)ashow
  8217. 543 81 gm
  8218. 1.22863 0. 32 0.12286 0.(LineEditingSession is an abstract class for the two types of editing functions that can be)awidthshow
  8219. 567 81 gm
  8220. -0.05384 0.(performed on existing links.  LineMovingSession is used to move one segment of a link, while)ashow
  8221. 591 81 gm
  8222. 0.40298 0. 32 0.04029 0.(the segments on either side of the segment being moved are adjusted to keep the link in one)awidthshow
  8223. 615 81 gm
  8224. 0.16448 0. 32 0.01644 0.(piece, as in Figure 4.4.)awidthshow
  8225. F T cp
  8226. %%Page: ? 52
  8227. op
  8228. 32 30 xl
  8229. 1 1 pen
  8230. 735 300 gm
  8231. (nc 32 30 762 582 6 rc)kp
  8232. 1 setTxMode
  8233. 0 fs
  8234. 12 fz
  8235. bu fc
  8236. 2 F /|______Times-Roman fnt
  8237. bn
  8238. (48)show
  8239. 0 0 gm
  8240. (nc 72 195 402 417 6 rc)kp
  8241. T 222 84 195 72 28 222 84 T 0 db
  8242. 00000000000000000000000000000000000000000000000000000000
  8243. 00000000000000000000000000000000000000000000000000000000
  8244. 00000000000000000000000000000000000000000000000000000000
  8245. 00000000000000000000000000000000000000000000000000000000
  8246. 000000000000000000000000000000000000000000000000007FFFF0
  8247. 00000000000000000000000000000000000000000000000000400010
  8248. 00000000000000000000000000000000000000000000000000400010
  8249. 00000000000000000000000000000000000000000000000000400010
  8250. 00000000000000000000000000000000000000000000000000400010
  8251. 00000000000000000000000000000000004000800100020004400010
  8252. 00000000000000000000000000000000002000400080010002400010
  8253. 00000000000000000000000000000000001000200040008001400010
  8254. 00000000000000000000000000000003FFFFFFFFFFFFFFFFFFC00010
  8255. 00000000000000000000000000000002001000200040008001400010
  8256. 00000000000000000000000000000007002000400080010002400010
  8257. 0000000000000000000000000000000A804000800100020004400010
  8258. 00000000000000000000000000000012400000000000000000400010
  8259. 00000000000000000000000000000002000000000000000000400010
  8260. 00000000000000000000000000000002000000000000000000400010
  8261. 00000000000000000000000000000002000000000000000000400010
  8262. 00000000000000000000000000000002000000000000000000400010
  8263. 00000000000000000000000000000002000000000000000000400010
  8264. 000000000000000000000000000000020000000000000000007FFFF0
  8265. 00000000000000000000000000000002000000000000000000000000
  8266. 00000000000000000000000000000002000000000000000000000000
  8267. 00000000000000000000000000000002000000000000000000000000
  8268. 00000000000000000000000000000002000000000000000000000000
  8269. 00000000000000000000000000000002000000000000000000000000
  8270. 00000000000000000000000000600002000000000000000000000000
  8271. 000000000000000000000000069C0007000000000000000000000000
  8272. 0000000000000000000000000992000A800000000000000000000000
  8273. 00000000000000000000000009920012400000000000000000000000
  8274. 00000000000000000000000004928002000000000000000000000000
  8275. 00000000000000000000000004934002000000000000000000000000
  8276. 0000000000000000000000001A024002000000000000000000000000
  8277. 00000000000000000000000026004002000000000000000000000000
  8278. 00000000000000000000000022004002000000000000000000000000
  8279. 00000000000000000000000010008002000000000000000000000000
  8280. 00000000000000000000000008008002000000000000000000000000
  8281. 00000000000000000000000008010002000000000000000000000000
  8282. 00000000000000000000000004010002000000000000000000000000
  8283. 00000000000000000000000004010002000000000000000000000000
  8284. 00000000000000000000000002020002000000000000000000000000
  8285. 00000000000000000000000001020002000000000000000000000000
  8286. 00000000000000000000000001020007000000000000000000000000
  8287. 0000000000000000000000000000000A800000000000000000000000
  8288. 00000000000000000000000000000012400000000000000000000000
  8289. 00000000000000000000000000000002000000000000000000000000
  8290. 00000000000000000000000000000002000000000000000000000000
  8291. 7FFFF000000000000000000000000002000000000000000000000000
  8292. 40001000000000000000000000000002000000000000000000000000
  8293. 40001000000000000000000000000002000000000000000000000000
  8294. 40001000000000000000000000000002000000000000000000000000
  8295. 40001000000000000000000000000002000000000000000000000000
  8296. 40001000000000000000000000000002000000000000000000000000
  8297. 40001000800100020004000800100022000000000000000000000000
  8298. 40001000400080010002000400080012000000000000000000000000
  8299. 4000100020004000800100020004000A000000000000000000000000
  8300. 40001FFFFFFFFFFFFFFFFFFFFFFFFFFE000000000000000000000000
  8301. 40001000200040008001000200040008000000000000000000000000
  8302. 40001000400080010002000400080010000000000000000000000000
  8303. 40001000800100020004000800100020000000000000000000000000
  8304. 40001000000000000000000000000000000000000000000000000000
  8305. 40001000000000000000000000000000000000000000000000000000
  8306. 40001000000000000000000000000000000000000000000000000000
  8307. 40001000000000000000000000000000000000000000000000000000
  8308. 40001000000000000000000000000000000000000000000000000000
  8309. 7FFFF000000000000000000000000000000000000000000000000000
  8310. 00000000000000000000000000000000000000000000000000000000
  8311. 000000000000000000000000000000000000000000000000007FFFF0
  8312. 00000000000000000000000000000000000000000000000000400010
  8313. 00000000000000000000000000000000000000000000000000400010
  8314. 00000000000000000000000000000000000000000000000000400010
  8315. 00000000000000000000000000000000000000000000000000400010
  8316. 00000000000000000000000000000000004000800100020004400010
  8317. 00000000000000000000000000000000002000400080010002400010
  8318. 00000000000000000000000000000000001000200040008001400010
  8319. 00000000000000000000000000000003FFFFFFFFFFFFFFFFFFC00010
  8320. 00000000000000000000000000000002001000200040008001400010
  8321. 00000000000000000000000000000002002000400080010002400010
  8322. 00000000000000000000000000000002004000800100020004400010
  8323. 00000000000000000000000000000002000000000000000000400010
  8324. 00000000000000000000000000000002000000000000000000400010
  8325. 00000000000000000000000000000002000000000000000000400010
  8326. 00000000000000000000000000000002000000000000000000400010
  8327. 00000000000000000000000000000002000000000000000000400010
  8328. 00000000000000000000000000000002000000000000000000400010
  8329. 000000000000000000000000000000020000000000000000007FFFF0
  8330. T 222 83 195 156 28 222 83 T 0 db
  8331. 00000000000000000000000000000002000000000000000000400010
  8332. 00000000000000000000000000000002000000000000000000400010
  8333. 00000000000000000000000000000002000000000000000000400010
  8334. 000000000000000000000000000000020000000000000000007FFFF0
  8335. 00000000000000000000000000000002000000000000000000000000
  8336. 00000000000000000000000000000006000000000000000000000000
  8337. 00000000000000000000000000000069C00000000000000000000000
  8338. 00000000000000000000000000000099200000000000000000000000
  8339. 00000000000000000000000000000099200000000000000000000000
  8340. 00000000000000000000000000000049280000000000000000000000
  8341. 00000000000000000000000000000049340000000000000000000000
  8342. 000000000000000000000000000001A0240000000000000000000000
  8343. 00000000000000000000000000000260040000000000000000000000
  8344. 00000000000000000000000000000220040000000000000000000000
  8345. 00000000000000000000000000000100080000000000000000000000
  8346. 00000000000000000000000000000080080000000000000000000000
  8347. 00000000000000000000000000000080100000000000000000000000
  8348. 00000000000000000000000000000040100000000000000000000000
  8349. 00000000000000000000000000000040100000000000000000000000
  8350. 00000000000000000000000000000020200000000000000000000000
  8351. 00000000000000000000000000000010200000000000000000000000
  8352. 00000000000000000000000000000010200000000000000000000000
  8353. 00000000000000000000000000000002000000000000000000000000
  8354. 00000000000000000000000000000002000000000000000000000000
  8355. 00000000000000000000000000000002000000000000000000000000
  8356. 00000000000000000000000000000002000000000000000000000000
  8357. 00000000000000000000000000000002000000000000000000000000
  8358. 00000000000000000000000000000002000000000000000000000000
  8359. 00000000000000000000000000000002000000000000000000000000
  8360. 00000000000000000000000000000002000000000000000000000000
  8361. 7FFFF000000000000000000000000002000000000000000000000000
  8362. 40001000000000000000000000000002000000000000000000000000
  8363. 40001000000000000000000000000002000000000000000000000000
  8364. 40001000000000000000000000000002000000000000000000000000
  8365. 40001000000000000000000000000002000000000000000000000000
  8366. 40001000000000000000000000000002000000000000000000000000
  8367. 40001000800100020004000800100022000000000000000000000000
  8368. 40001000400080010002000400080012000000000000000000000000
  8369. 4000100020004000800100020004000A000000000000000000000000
  8370. 40001FFFFFFFFFFFFFFFFFFFFFFFFFFE000000000000000000000000
  8371. 40001000200040008001000200040008000000000000000000000000
  8372. 40001000400080010002000400080010000000000000000000000000
  8373. 40001000800100020004000800100020000000000000000000000000
  8374. 40001000000000000000000000000000000000000000000000000000
  8375. 40001000000000000000000000000000000000000000000000000000
  8376. 40001000000000000000000000000000000000000000000000000000
  8377. 40001000000000000000000000000000000000000000000000000000
  8378. 40001000000000000000000000000000000000000000000000000000
  8379. 7FFFF000000000000000000000000000000000000000000000000000
  8380. 000000000000000000000000000000000000000000000000007FFFF0
  8381. 00000000000000000000000000000000000000000000000000400010
  8382. 00000000000000000000000000000000000000000000000000400010
  8383. 00000000000000000000000000000000000000000000000000400010
  8384. 00000000000000000000000000000000000000000000000000400010
  8385. 00000000000000000000000000000000000000000000000000400010
  8386. 00000000000000000000000000000000000000000000000000400010
  8387. 00000000000000000000000000000000000000000000000000400010
  8388. 00000000000000000000000000000003FFFFFFFFFFFFFFFFFFC00010
  8389. 00000000000000000000000000000002000000000000000000400010
  8390. 00000000000000000000000000000002000000000000000000400010
  8391. 00000000000000000000000000000002000000000000000000400010
  8392. 00000000000000000000000000000002000000000000000000400010
  8393. 00000000000000000000000000000002000000000000000000400010
  8394. 00000000000000000000000000000002000000000000000000400010
  8395. 00000000000000000000000000000002000000000000000000400010
  8396. 00000000000000000000000000000002000000000000000000400010
  8397. 00000000000000000000000000000002000000000000000000400010
  8398. 000000000000000000000000000000020000000000000000007FFFF0
  8399. 00000000000000000000000000000002000000000000000000000000
  8400. 00000000000000000000000000000006000000000000000000000000
  8401. 00000000000000000000000000000069C00000000000000000000000
  8402. 00000000000000000000000000000099200000000000000000000000
  8403. 00000000000000000000000000000099200000000000000000000000
  8404. 00000000000000000000000000000049280000000000000000000000
  8405. 00000000000000000000000000000049340000000000000000000000
  8406. 000000000000000000000000000001A0240000000000000000000000
  8407. 00000000000000000000000000000260040000000000000000000000
  8408. 00000000000000000000000000000220040000000000000000000000
  8409. 00000000000000000000000000000100080000000000000000000000
  8410. 00000000000000000000000000000080080000000000000000000000
  8411. 00000000000000000000000000000080100000000000000000000000
  8412. 00000000000000000000000000000040100000000000000000000000
  8413. 00000000000000000000000000000040100000000000000000000000
  8414. 00000000000000000000000000000020200000000000000000000000
  8415. 00000000000000000000000000000010200000000000000000000000
  8416. 00000000000000000000000000000010200000000000000000000000
  8417. 00000000000000000000000000000002000000000000000000000000
  8418. T 222 82 195 239 28 222 82 T 0 db
  8419. 00000000000000000000000000000020200000000000000000000000
  8420. 00000000000000000000000000000010200000000000000000000000
  8421. 00000000000000000000000000000010200000000000000000000000
  8422. 00000000000000000000000000000002000000000000000000000000
  8423. 00000000000000000000000000000002000000000000000000000000
  8424. 00000000000000000000000000000002000000000000000000000000
  8425. 00000000000000000000000000000002000000000000000000000000
  8426. 00000000000000000000000000000002000000000000000000000000
  8427. 00000000000000000000000000000002000000000000000000000000
  8428. 00000000000000000000000000000002000000000000000000000000
  8429. 00000000000000000000000000000002000000000000000000000000
  8430. 7FFFF000000000000000000000000002000000000000000000000000
  8431. 40001000000000000000000000000002000000000000000000000000
  8432. 40001000000000000000000000000002000000000000000000000000
  8433. 40001000000000000000000000000002000000000000000000000000
  8434. 40001000000000000000000000000002000000000000000000000000
  8435. 40001000000000000000000000000002000000000000000000000000
  8436. 40001000000000000000000000000002000000000000000000000000
  8437. 40001000000000000000000000000002000000000000000000000000
  8438. 40001000000000000000000000000002000000000000000000000000
  8439. 40001FFFFFFFFFFFFFFFFFFFFFFFFFFE000000000000000000000000
  8440. 40001000000000000000000000000000000000000000000000000000
  8441. 40001000000000000000000000000000000000000000000000000000
  8442. 40001000000000000000000000000000000000000000000000000000
  8443. 40001000000000000000000000000000000000000000000000000000
  8444. 40001000000000000000000000000000000000000000000000000000
  8445. 40001000000000000000000000000000000000000000000000000000
  8446. 40001000000000000000000000000000000000000000000000000000
  8447. 40001000000000000000000000000000000000000000000000000000
  8448. 7FFFF000000000000000000000000000000000000000000000000000
  8449. 00000000000000000000000000000000000000000000000000000000
  8450. 00000000000000000000000000000000000000000000000000000000
  8451. 00000000000000000000000000000000000000000000000000000000
  8452. 00000000000000000000000000000000000000000000000000000000
  8453. 000000000000000000000000000000000000000000000000007FFFF0
  8454. 00000000000000000000000000000000000000000000000000400010
  8455. 00000000000000000000000000000000000000000000000000400010
  8456. 00000000000000000000000000000000000000000000000000400010
  8457. 00000000000000000000000000000000000000000000000000400010
  8458. 00000000000000000000000000000000000000000000000000400010
  8459. 00000000000000000000000000000000000000000000000000400010
  8460. 00000000000000000000000000000000000000000000000000400010
  8461. 0000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00010
  8462. 00000000000000000010000000000000000000000000000000400010
  8463. 00000000000000000010000000000000000000000000000000400010
  8464. 00000000000000000010000000000000000000000000000000400010
  8465. 00000000000000000010000000000000000000000000000000400010
  8466. 00000000000000000010000000000000000000000000000000400010
  8467. 00000000000000000010000000000000000000000000000000400010
  8468. 00000000000000000010000000000000000000000000000000400010
  8469. 00000000000000000010000000000000000000000000000000400010
  8470. 00000000000000000010000000000000000000000000000000400010
  8471. 000000000000000000100000000000000000000000000000007FFFF0
  8472. 00000000000000000010000000000000000000000000000000000000
  8473. 00000000000000000030000000000000000000000000000000000000
  8474. 0000000000000000034E000000000000000000000000000000000000
  8475. 000000000000000004C9000000000000000000000000000000000000
  8476. 000000000000000004C9000000000000000000000000000000000000
  8477. 00000000000000000249400000000000000000000000000000000000
  8478. 00000000000000000249A00000000000000000000000000000000000
  8479. 00000000000000000D01200000000000000000000000000000000000
  8480. 00000000000000001300200000000000000000000000000000000000
  8481. 00000000000000001100200000000000000000000000000000000000
  8482. 00000000000000000800400000000000000000000000000000000000
  8483. 00000000000000000400400000000000000000000000000000000000
  8484. 00000000000000000400800000000000000000000000000000000000
  8485. 00000000000000000200800000000000000000000000000000000000
  8486. 00000000000000000200800000000000000000000000000000000000
  8487. 00000000000000000101000000000000000000000000000000000000
  8488. 00000000000000000081000000000000000000000000000000000000
  8489. 00000000000000000081000000000000000000000000000000000000
  8490. 00000000000000000010002000000000000000000000000000000000
  8491. 00000000000000000010006000000000000000000000000000000000
  8492. 0000000000000000001000E000000000000000000000000000000000
  8493. 0000000000000000001001FFFFFFFFC0000000000000000000000000
  8494. 0000000000000000001000E000000000000000000000000000000000
  8495. 00000000000000000010006000000000000000000000000000000000
  8496. 00000000000000000010002000000000000000000000000000000000
  8497. 00000000000000000010000000000000000000000000000000000000
  8498. 7FFFF000000000000010000000000000000000000000000000000000
  8499. 40001000000000000010000000000000000000000000000000000000
  8500. 40001000000000000010000000000000000000000000000000000000
  8501. 40001000000000000010000000000000000000000000000000000000
  8502. 40001000000000000010000000000000000000000000000000000000
  8503. 40001000000000000010000000000000000000000000000000000000
  8504. 40001000000000000010000000000000000000000000000000000000
  8505. T 222 83 195 321 28 222 83 T 0 db
  8506. 40001000000000000010000000000000000000000000000000000000
  8507. 40001000000000000010000000000000000000000000000000000000
  8508. 40001000000000000010000000000000000000000000000000000000
  8509. 40001000000000000010000000000000000000000000000000000000
  8510. 40001000000000000010000000000000000000000000000000000000
  8511. 40001000000000000010000000000000000000000000000000000000
  8512. 40001FFFFFFFFFFFFFF0000000000000000000000000000000000000
  8513. 40001000000000000000000000000000000000000000000000000000
  8514. 40001000000000000000000000000000000000000000000000000000
  8515. 40001000000000000000000000000000000000000000000000000000
  8516. 40001000000000000000000000000000000000000000000000000000
  8517. 40001000000000000000000000000000000000000000000000000000
  8518. 40001000000000000000000000000000000000000000000000000000
  8519. 40001000000000000000000000000000000000000000000000000000
  8520. 40001000000000000000000000000000000000000000000000000000
  8521. 7FFFF000000000000000000000000000000000000000000000000000
  8522. 00000000000000000000000000000000000000000000000000000000
  8523. 00000000000000000000000000000000000000000000000000000000
  8524. 000000000000000000000000000000000000000000000000003FFFF8
  8525. 00000000000000000000000000000000000000000000000000200008
  8526. 00000000000000000000000000000000000000000000000000200008
  8527. 00000000000000000000000000000000000000000000000000200008
  8528. 00000000000000000000000000000000000000000000000000200008
  8529. 00000000000000000000000000000000000000000000000000200008
  8530. 00000000000000000000000000000000000000000000000000200008
  8531. 00000000000000000000000000000000000000000000000000200008
  8532. 0000000000000000000000000000000000000001FFFFFFFFFFE00008
  8533. 00000000000000000000000000000000000000010000000000200008
  8534. 00000000000000000000000000000000000000010000000000200008
  8535. 00000000000000000000000000000000000000010000000000200008
  8536. 00000000000000000000000000000000000000010000000000200008
  8537. 00000000000000000000000000000000000000010000000000200008
  8538. 00000000000000000000000000000000000000010000000000200008
  8539. 00000000000000000000000000000000000000010000000000200008
  8540. 00000000000000000000000000000000000000010000000000200008
  8541. 00000000000000000000000000000000000000010000000000200008
  8542. 000000000000000000000000000000000000000100000000003FFFF8
  8543. 00000000000000000000000000000000000000010000000000000000
  8544. 00000000000000000000000000000000000000030000000000000000
  8545. 0000000000000000000000000000000000000034E000000000000000
  8546. 000000000000000000000000000000000000004C9000000000000000
  8547. 000000000000000000000000000000000000004C9000000000000000
  8548. 00000000000000000000000000000000000000249400000000000000
  8549. 00000000000000000000000000000000000000249A00000000000000
  8550. 00000000000000000000000000000000000000D01200000000000000
  8551. 00000000000000000000000000000000000001300200000000000000
  8552. 00000000000000000000000000000000000001100200000000000000
  8553. 00000000000000000000000000000000000000800400000000000000
  8554. 00000000000000000000000000000000000000400400000000000000
  8555. 00000000000000000000000000000000000000400800000000000000
  8556. 00000000000000000000000000000000000000200800000000000000
  8557. 00000000000000000000000000000000000000200800000000000000
  8558. 00000000000000000000000000000000000000101000000000000000
  8559. 00000000000000000000000000000000000000081000000000000000
  8560. 00000000000000000000000000000000000000081000000000000000
  8561. 00000000000000000000000000000000000000010000000000000000
  8562. 00000000000000000000000000000000000020010000000000000000
  8563. 00000000000000000000000000000000000030010000000000000000
  8564. 00000000000000000000000000000000000038010000000000000000
  8565. 000000000000000000000003FFFFFFFFFFFFFC010000000000000000
  8566. 00000000000000000000000000000000000038010000000000000000
  8567. 00000000000000000000000000000000000030010000000000000000
  8568. 00000000000000000000000000000000000020010000000000000000
  8569. 3FFFF800000000000000000000000000000000010000000000000000
  8570. 20000800000000000000000000000000000000010000000000000000
  8571. 20000800000000000000000000000000000000010000000000000000
  8572. 20000800000000000000000000000000000000010000000000000000
  8573. 20000800000000000000000000000000000000010000000000000000
  8574. 20000800000000000000000000000000000000010000000000000000
  8575. 20000800000000000000000000000000000000010000000000000000
  8576. 20000800000000000000000000000000000000010000000000000000
  8577. 20000800000000000000000000000000000000010000000000000000
  8578. 20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000
  8579. 20000800000000000000000000000000000000000000000000000000
  8580. 20000800000000000000000000000000000000000000000000000000
  8581. 20000800000000000000000000000000000000000000000000000000
  8582. 20000800000000000000000000000000000000000000000000000000
  8583. 20000800000000000000000000000000000000000000000000000000
  8584. 20000800000000000000000000000000000000000000000000000000
  8585. 20000800000000000000000000000000000000000000000000000000
  8586. 20000800000000000000000000000000000000000000000000000000
  8587. 3FFFF800000000000000000000000000000000000000000000000000
  8588. 00000000000000000000000000000000000000000000000000000000
  8589. 00000000000000000000000000000000000000000000000000000000
  8590. 00000000000000000000000000000000000000000000000000000000
  8591. 00000000000000000000000000000000000000000000000000000000
  8592. 00000000000000000000000000000000000000000000000000000000
  8593. 435 222 gm
  8594. (nc 32 30 762 582 6 rc)kp
  8595. bu fc
  8596. 2 F /|______Times-Roman fnt
  8597. bn
  8598. -0.05136 0.(Figure 4.4  A Line Moving Session)ashow
  8599. 507 81 gm
  8600. 0.09582 0. 32 0.00958 0.(A LineCuttingSession is also used to edit a link, but, instead of lines being moved, a segment)awidthshow
  8601. 531 81 gm
  8602. -0.03073 0.(of the link is cut, and replaced by three new segments, as in Figure 4.5.)ashow
  8603. F T cp
  8604. %%Page: ? 53
  8605. op
  8606. 32 30 xl
  8607. 1 1 pen
  8608. 735 300 gm
  8609. (nc 32 30 762 582 6 rc)kp
  8610. 1 setTxMode
  8611. 0 fs
  8612. 12 fz
  8613. bu fc
  8614. 2 F /|______Times-Roman fnt
  8615. bn
  8616. (49)show
  8617. 0 0 gm
  8618. (nc 72 193 446 419 6 rc)kp
  8619. T 226 95 193 72 30 226 95 T 0 db
  8620. 000000000000000000000000000000000000000000000000000000000000
  8621. 000000000000000000000000000000000000000000000000000000000000
  8622. 000000000000000000000000000000000000000000000000000000000000
  8623. 000000000000000000000000000000000000000000000000000000000000
  8624. 000000000000000000000000000000000000000000000000000000000000
  8625. 000000000000000000000000000000000000000000000000003FFFF80000
  8626. 000000000000000000000000000000000000000000000000002000080000
  8627. 000000000000000000000000000000000000000000000000002000080000
  8628. 000000000000000000000000000000000000000000000000002000080000
  8629. 000000000000000000000000000000000000000000000000002000080000
  8630. 000000000000000000000000000000000020004000800100022000080000
  8631. 000000000000000000000000000000000010002000400080012000080000
  8632. 00000000000000000000000000000000000800100020004000A000080000
  8633. 00000000000000000000000000000001FFFFFFFFFFFFFFFFFFE000080000
  8634. 00000000000000000000000000000001000800100020004000A000080000
  8635. 000000000000000000000000000000038010002000400080012000080000
  8636. 000000000000000000000000000000054020004000800100022000080000
  8637. 000000000000000000000000000000092000000000000000002000080000
  8638. 000000000000000000000000000000010000000000000000002000080000
  8639. 000000000000000000000000000000010000000000000000002000080000
  8640. 000000000000000000000000000000010000000000000000002000080000
  8641. 000000000000000000000000000000010000000000000000002000080000
  8642. 000000000000000000000000000000010000000000000000002000080000
  8643. 000000000000000000000000000000010000000000000000003FFFF80000
  8644. 000000000000000000000000000000010000000000000000000000000000
  8645. 000000000000000000000000000000010000000000000000000000000000
  8646. 000000000000000000000000000000010000000000000000000000000000
  8647. 000000000000000000000000000000010000000000000000000000000000
  8648. 000000000000000000000000000000010000000000000000000000000000
  8649. 000000000000000000000000003000010000000000000000000000000000
  8650. 000000000000000000000000034E00038000000000000000000000000000
  8651. 00000000000000000000000004C900054000000000000000000000000000
  8652. 00000000000000000000000004C900092000000000000000000000000000
  8653. 000000000000000000000000024940010000000000000000000000000000
  8654. 0000000000000000000000000249A0010000000000000000000000000000
  8655. 0000000000000000000000000D0120010000000000000000000000000000
  8656. 000000000000000000000000130020010000000000000000000000000000
  8657. 000000000000000000000000110020010000000000000000000000000000
  8658. 000000000000000000000000080040010000000000000000000000000000
  8659. 000000000000000000000000040040010000000000000000000000000000
  8660. 000000000000000000000000040080010000000000000000000000000000
  8661. 000000000000000000000000020080010000000000000000000000000000
  8662. 000000000000000000000000020080010000000000000000000000000000
  8663. 000000000000000000000000010100010000000000000000000000000000
  8664. 000000000000000000000000008100010000000000000000000000000000
  8665. 000000000000000000000000008100038000000000000000000000000000
  8666. 000000000000000000000000000000054000000000000000000000000000
  8667. 000000000000000000000000000000092000000000000000000000000000
  8668. 000000000000000000000000000000010000000000000000000000000000
  8669. 000000000000000000000000000000010000000000000000000000000000
  8670. 3FFFF8000000000000000000000000010000000000000000000000000000
  8671. 200008000000000000000000000000010000000000000000000000000000
  8672. 200008000000000000000000000000010000000000000000000000000000
  8673. 200008000000000000000000000000010000000000000000000000000000
  8674. 200008000000000000000000000000010000000000000000000000000000
  8675. 200008000000000000000000000000010000000000000000000000000000
  8676. 200008004000800100020004000800110000000000000000000000000000
  8677. 200008002000400080010002000400090000000000000000000000000000
  8678. 200008001000200040008001000200050000000000000000000000000000
  8679. 20000FFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
  8680. 200008001000200040008001000200040000000000000000000000000000
  8681. 200008002000400080010002000400080000000000000000000000000000
  8682. 200008004000800100020004000800100000000000000000000000000000
  8683. 200008000000000000000000000000000000000000000000000000000000
  8684. 200008000000000000000000000000000000000000000000000000000000
  8685. 200008000000000000000000000000000000000000000000000000000000
  8686. 200008000000000000000000000000000000000000000000000000000000
  8687. 200008000000000000000000000000000000000000000000000000000000
  8688. 3FFFF8000000000000000000000000000000000000000000000000000000
  8689. 000000000000000000000000000000000000000000000000000000000000
  8690. 000000000000000000000000000000000000000000000000003FFFF80000
  8691. 000000000000000000000000000000000000000000000000002000080000
  8692. 000000000000000000000000000000000000000000000000002000080000
  8693. 000000000000000000000000000000000000000000000000002000080000
  8694. 000000000000000000000000000000000000000000000000002000080000
  8695. 000000000000000000000000000000000020004000800100022000080000
  8696. 000000000000000000000000000000000010002000400080012000080000
  8697. 00000000000000000000000000000000000800100020004000A000080000
  8698. 00000000000000000000000000000001FFFFFFFFFFFFFFFFFFE000080000
  8699. 00000000000000000000000000000001000800100020004000A000080000
  8700. 000000000000000000000000000000010010002000400080012000080000
  8701. 000000000000000000000000000000010020004000800100022000080000
  8702. 000000000000000000000000000000010000000000000000002000080000
  8703. 000000000000000000000000000000010000000000000000002000080000
  8704. 000000000000000000000000000000010000000000000000002000080000
  8705. 000000000000000000000000000000010000000000000000002000080000
  8706. 000000000000000000000000000000010000000000000000002000080000
  8707. 000000000000000000000000000000010000000000000000002000080000
  8708. 000000000000000000000000000000010000000000000000003FFFF80000
  8709. 000000000000000000000000000000010000000000000000000000000000
  8710. 000000000000000000000000000000030000000000000000000000000000
  8711. 00000000000000000000000000000034E000000000000000000000000000
  8712. 0000000000000000000000000000004C9000000000000000000000000000
  8713. 0000000000000000000000000000004C9000000000000000000000000000
  8714. 000000000000000000000000000000249400000000000000000000000000
  8715. 000000000000000000000000000000249A00000000000000000000000000
  8716. 000000000000000000000000000000D01200000000000000000000000000
  8717. 000000000000000000000000000001300200000000000000000000000000
  8718. 000000000000000000000000000001100200000000000000000000000000
  8719. T 226 94 193 167 30 226 94 T 0 db
  8720. 000000000000000000000000000000249A00000000000000000000000000
  8721. 000000000000000000000000000000D01200000000000000000000000000
  8722. 000000000000000000000000000001300200000000000000000000000000
  8723. 000000000000000000000000000001100200000000000000000000000000
  8724. 000000000000000000000000000000800400000000000000000000000000
  8725. 000000000000000000000000000000400400000000000000000000000000
  8726. 000000000000000000000000000000400800000000000000000000000000
  8727. 000000000000000000000000000000200800000000000000000000000000
  8728. 000000000000000000000000000000200800000000000000000000000000
  8729. 000000000000000000000000000000101000000000000000000000000000
  8730. 000000000000000000000000000000081000000000000000000000000000
  8731. 000000000000000000000000000000081000000000000000000000000000
  8732. 000000000000000000000000000000010000000000000000000000000000
  8733. 000000000000000000000000000000010000000000000000000000000000
  8734. 000000000000000000000000000000010000000000000000000000000000
  8735. 000000000000000000000000000000010000000000000000000000000000
  8736. 000000000000000000000000000000010000000000000000000000000000
  8737. 000000000000000000000000000000010000000000000000000000000000
  8738. 000000000000000000000000000000010000000000000000000000000000
  8739. 000000000000000000000000000000010000000000000000000000000000
  8740. 3FFFF8000000000000000000000000010000000000000000000000000000
  8741. 200008000000000000000000000000010000000000000000000000000000
  8742. 200008000000000000000000000000010000000000000000000000000000
  8743. 200008000000000000000000000000010000000000000000000000000000
  8744. 200008000000000000000000000000010000000000000000000000000000
  8745. 200008000000000000000000000000010000000000000000000000000000
  8746. 200008004000800100020004000800110000000000000000000000000000
  8747. 200008002000400080010002000400090000000000000000000000000000
  8748. 200008001000200040008001000200050000000000000000000000000000
  8749. 20000FFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
  8750. 200008001000200040008001000200040000000000000000000000000000
  8751. 200008002000400080010002000400080000000000000000000000000000
  8752. 200008004000800100020004000800100000000000000000000000000000
  8753. 200008000000000000000000000000000000000000000000000000000000
  8754. 200008000000000000000000000000000000000000000000000000000000
  8755. 200008000000000000000000000000000000000000000000000000000000
  8756. 200008000000000000000000000000000000000000000000000000000000
  8757. 200008000000000000000000000000000000000000000000000000000000
  8758. 3FFFF8000000000000000000000000000000000000000000000000000000
  8759. 000000000000000000000000000000000000000000600000000000000000
  8760. 0000000000000000000000000000000000000000069C0000001FFFFC0000
  8761. 000000000000000000000000000000000000000009920000001000040000
  8762. 000000000000000000000000000000000000000009920000001000040000
  8763. 000000000000000000000000000000000000000004928000001000040000
  8764. 000000000000000000000000000000000000000004934000001000040000
  8765. 00000000000000000000000000000000000000001A024000001000040000
  8766. 000000000000000000000000000000000000000026004000001000040000
  8767. 000000000000000000000000000000000000000022004000001000040000
  8768. 00000000000000000000000000000001FFFFFFFF90009FFFFFD000040000
  8769. 000000000000000000000000000000010000000008008000001000040000
  8770. 000000000000000000000000000000010000000008010000001000040000
  8771. 000000000000000000000000000000010000000004010000001000040000
  8772. 000000000000000000000000000000010000000004010000001000040000
  8773. 000000000000000000000000000000010000000002020000001000040000
  8774. 000000000000000000000000000000010000000001020000001000040000
  8775. 000000000000000000000000000000010000000001020000001000040000
  8776. 000000000000000000000000000000010000000000000000001000040000
  8777. 000000000000000000000000000000010000000000000000001000040000
  8778. 000000000000000000000000000000010000000000000000001FFFFC0000
  8779. 000000000000000000000000000000010000000000000000000000000000
  8780. 000000000000000000000000000000010000000000000000000000000000
  8781. 000000000000000000000000000000010000000000000000000000000000
  8782. 000000000000000000000000000000010000000000000000000000000000
  8783. 000000000000000000000000000000010000000000000000000000000000
  8784. 000000000000000000000000000000010000000000000000000000000000
  8785. 000000000000000000000000000000010000000000000000000000000000
  8786. 000000000000000000000000000000010000000000000000000000000000
  8787. 000000000000000000000000000000010000000000000000000000000000
  8788. 000000000000000000000000000000010000000000000000000000000000
  8789. 000000000000000000000000000000010000000000000000000000000000
  8790. 000000000000000000000000000000010000000000000000000000000000
  8791. 000000000000000000000000000000010000000000000000000000000000
  8792. 000000000000000000000000000000010000000000000000000000000000
  8793. 000000000000000000000000000000010000000000000000000000000000
  8794. 000000000000000000000000000000010000000000000000000000000000
  8795. 000000000000000000000000000000010000000000000000000000000000
  8796. 000000000000000000000000000000010000000000000000000000000000
  8797. 000000000000000000000000000000010000000000000000000000000000
  8798. 000000000000000000000000000000010000000000000000000000000000
  8799. 000000000000000000000000000000010000000000000000000000000000
  8800. 000000000000000000000000000000010000000000000000000000000000
  8801. 000000000000000000000000000000010000000000000000000000000000
  8802. 000000000000000000000000000000010000000000000000000000000000
  8803. 000000000000000000000000000000010000000000000000000000000000
  8804. 000000000000000000000000000000010000000000000000000000000000
  8805. 3FFFF8000000000000000000000000010000000000000000000000000000
  8806. 200008000000000000000000000000010000000000000000000000000000
  8807. 200008000000000000000000000000010000000000000000000000000000
  8808. 200008000000000000000000000000010000000000000000000000000000
  8809. 200008000000000000000000000000010000000000000000000000000000
  8810. 200008000000000000000000000000010000000000000000000000000000
  8811. 200008004000800100020004000800110000000000000000000000000000
  8812. 200008002000400080010002000400090000000000000000000000000000
  8813. 200008001000200040008001000200050000000000000000000000000000
  8814. 20000FFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
  8815. 200008001000200040008001000200040000000000000000000000000000
  8816. 200008002000400080010002000400080000000000000000000000000000
  8817. 200008004000800100020004000800100000000000000000000000000000
  8818. T 226 93 193 261 30 226 93 T 0 db
  8819. 20000FFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
  8820. 200008001000200040008001000200040000000000000000000000000000
  8821. 200008002000400080010002000400080000000000000000000000000000
  8822. 200008004000800100020004000800100000000000000000000000000000
  8823. 200008000000000000000000000000000000000000000000000000000000
  8824. 200008000000000000000000000000000000000000000000000000000000
  8825. 200008000000000000000000000000000000000000000000000000000000
  8826. 200008000000000000000000000000000000000000000000000000000000
  8827. 200008000000000000000000000000000000000000000000000000000000
  8828. 3FFFF8000000000000000000000000000000000000000000000000000000
  8829. 000000000000000000000000000000000000000000000000000FFFFE0000
  8830. 000000000000000000000000000000000000000000000000000800020000
  8831. 000000000000000000000000000000000000000000000000000800020000
  8832. 000000000000000000000000000000000000000000000000000800020000
  8833. 000000000000000000000000000000000000000000000000000800020000
  8834. 000000000000000000000000000000000000000000000000000800020000
  8835. 000000000000000000000000000000000000000000000000000800020000
  8836. 000000000000000000000000000000000000000000000000000800020000
  8837. 0000000000000000000000000000000000000004003FFFFFFFE800020000
  8838. 000000000000000000000000000000000000000400200000000800020000
  8839. 000000000000000000000000000000000000000400200000000800020000
  8840. 000000000000000000000000000000000000000400200000000800020000
  8841. 000000000000000000000000000000000000000400200000000800020000
  8842. 000000000000000000000000000000000000000400200000000800020000
  8843. 000000000000000000000000000000000000000400200000000800020000
  8844. 000000000000000000000000000000000000000400200000000800020000
  8845. 000000000000000000000000000000000000000400200000000800020000
  8846. 000000000000000000000000000000000000000400200000000800020000
  8847. 000000000000000000000000000000000000000400200000000FFFFE0000
  8848. 000000000000000000000000000000000000000400200000000000000000
  8849. 000000000000000000000000000000000000000400200000000000000000
  8850. 000000000000000000000000000000000000000400200000000000000000
  8851. 000000000000000000000000000000000000000400200000000000000000
  8852. 000000000000000000000000000000000000000400200000000000000000
  8853. 000000000000000000000000000000000000000400200000000000000000
  8854. 000000000000000000000000000000000000000400200000000000000000
  8855. 000000000000000000000000000000000000003F80200000000000000000
  8856. 000000000000000000000000000000000000001F00300000000000000000
  8857. 000000000000000000000000000000000000000E034E0000000000000000
  8858. 000000000000000000000000000000000000000404C90000000000000000
  8859. 000000000000000000000000000000000000000004C90000000000000000
  8860. 000000000000000000000000000000000000000002494000000000000000
  8861. 00000000000000000000000000000000000000000249A000000000000000
  8862. 00000000000000000000000000000000000000000D012000000000000000
  8863. 000000000000000000000000000000000000000013002000000000000000
  8864. 000000000000000000000000000000000000000011002000000000000000
  8865. 00000000000000000000000000000000FFFFFFFFE8004000000000000000
  8866. 000000000000000000000000000000008000000004004000000000000000
  8867. 000000000000000000000000000000008000000004008000000000000000
  8868. 000000000000000000000000000000008000000002008000000000000000
  8869. 000000000000000000000000000000008000000002008000000000000000
  8870. 000000000000000000000000000000008000000001010000000000000000
  8871. 000000000000000000000000000000008000000000810000000000000000
  8872. 000000000000000000000000000000008000000000810000000000000000
  8873. 000000000000000000000000000000008000000000000000000000000000
  8874. 1FFFFC000000000000000000000000008000000000000000000000000000
  8875. 100004000000000000000000000000008000000000000000000000000000
  8876. 100004000000000000000000000000008000000000000000000000000000
  8877. 100004000000000000000000000000008000000000000000000000000000
  8878. 100004000000000000000000000000008000000000000000000000000000
  8879. 100004000000000000000000000000008000000000000000000000000000
  8880. 100004002000400080010002000400088000000000000000000000000000
  8881. 100004001000200040008001000200048000000000000000000000000000
  8882. 100004000800100020004000800100028000000000000000000000000000
  8883. 100007FFFFFFFFFFFFFFFFFFFFFFFFFF8000000000000000000000000000
  8884. 100004000800100020004000800100020000000000000000000000000000
  8885. 100004001000200040008001000200040000000000000000000000000000
  8886. 100004002000400080010002000400080000000000000000000000000000
  8887. 100004000000000000000000000000000000000000000000000000000000
  8888. 100004000000000000000000000000000000000000000000000000000000
  8889. 100004000000000000000000000000000000000000000000000000000000
  8890. 100004000000000000000000000000000000000000000000000000000000
  8891. 100004000000000000000000000000000000000000000000000000000000
  8892. 1FFFFC000000000000000000000000000000000000000000000000000000
  8893. 000000000000000000000000000000000000000000000000000000000000
  8894. 000000000000000000000000000000000000000000000000000000000000
  8895. 000000000000000000000000000000000000000000000000000000000000
  8896. 000000000000000000000000000000000000000000000000000000000000
  8897. 000000000000000000000000000000000000000000000000000000000000
  8898. 000000000000000000000000000000000000000000000000000000000000
  8899. 000000000000000000000000000000000000000000000000000000000000
  8900. 000000000000000000000000000000000000000000000000000000000000
  8901. 000000000000000000000000000000000000000000000000000000000000
  8902. 000000000000000000000000000000000000000000000000000000000000
  8903. 000000000000000000000000000000000000000000000000000000000000
  8904. 000000000000000000000000000000000000060000000000000000000000
  8905. 00000000000000000000000000000000000069C000000000000000000000
  8906. 000000000000000000000000000000000000992000000000000000000000
  8907. 000000000000000000000000000000000000992000000000000000000000
  8908. 000000000000000000000000000000000000492800000000000000000000
  8909. 000000000000000000000000000000000000493400000000000000000000
  8910. 000000000000000000000000000000000001A02400000000000000000000
  8911. 000000000000000000000000000000000002600400000000000000000000
  8912. 000000000000000000000000000000000002200400000000000000000000
  8913. 000000000000000000000000000000007FFD0009FFF80000000000000000
  8914. 000000000000000000000000000000004000800800080000000000000000
  8915. 000000000000000000000000000000004000801000080000000000000000
  8916. T 226 94 193 354 30 226 94 T 0 db
  8917. 000000000000000000000000000000000002200400000000000000000000
  8918. 000000000000000000000000000000007FFD0009FFF80000000000000000
  8919. 000000000000000000000000000000004000800800080000000000000000
  8920. 000000000000000000000000000000004000801000080000000000000000
  8921. 000000000000000000000000000000004000401000080000000000000000
  8922. 000000000000000000000000000000004000401000080000000000000000
  8923. 000000000000000000000000000000004000202000080000000000000000
  8924. 000000000000000000000000000000004020102000080000000000000000
  8925. 000000000000000000000000000000004070102000080000000000000000
  8926. 0000000000000000000000000000000040F8000000080000000000000000
  8927. 0000000000000000000000000000000041FC000000080000000000000000
  8928. 000000000000000000000000000000004020000000080000000000000000
  8929. 000000000000000000000000000000004020000000080000000000000000
  8930. 000000000000000000000000000000004020000000080000000000000000
  8931. 000000000000000000000000000000004020000000080000000000000000
  8932. 000000000000000000000000000000004020000000080000000000000000
  8933. 000000000000000000000000000000004020000000080000000000000000
  8934. 000000000000000000000000000000004020000000080000000000000000
  8935. 000000000000000000000000000000004020000000080000000000000000
  8936. 000000000000000000000000000000004020000000080000000000000000
  8937. 000000000000000000000000000000004020000000080000000000000000
  8938. 000000000000000000000000000000004020000000080000000000000000
  8939. 000000000000000000000000000000004020000000080000000000000000
  8940. 000000000000000000000000000000004020000000080000000000000000
  8941. 000000000000000000000000000000004020000000080000000000000000
  8942. 000000000000000000000000000000004020000000080000000000000000
  8943. 000000000000000000000000000000004020000000080000000000000000
  8944. 000000000000000000000000000000004020000000080000000000000000
  8945. 0000000000000000000000000000000040200000000800000007FFFF0000
  8946. 000000000000000000000000000000004020000000080000000400010000
  8947. 000000000000000000000000000000004020000000080000000400010000
  8948. 000000000000000000000000000000004020000000080000000400010000
  8949. 000000000000000000000000000000004020000000080000000400010000
  8950. 000000000000000000000000000000004020000000080000000400010000
  8951. 000000000000000000000000000000004020000000080000000400010000
  8952. 000000000000000000000000000000004000000000080000000400010000
  8953. 0000000000000000000000000000000040000000000FFFFFFFF400010000
  8954. 000000000000000000000000000000004000000000000000000400010000
  8955. 000000000000000000000000000000004000000000000000000400010000
  8956. 000000000000000000000000000000004000000000000000000400010000
  8957. 000000000000000000000000000000004000000000000000000400010000
  8958. 000000000000000000000000000000004000000000000000000400010000
  8959. 000000000000000000000000000000004000000000000000000400010000
  8960. 000000000000000000000000000000004000000000000000000400010000
  8961. 000000000000000000000000000000004000000000000000000400010000
  8962. 000000000000000000000000000000004000000000000000000400010000
  8963. 0000000000000000000000000000000040000000000000000007FFFF0000
  8964. 000000000000000000000000000000004000000000000000000000000000
  8965. 000000000000000000000000000000004000000000000000000000000000
  8966. 000000000000000000000000000000004000000000000000000000000000
  8967. 000000000000000000000000000000004000000000000000000000000000
  8968. 000000000000000000000000000000004000000000000000000000000000
  8969. 000000000000000000000000000000004000000000000000000000000000
  8970. 000000000000000000000000000000004000000000000000000000000000
  8971. 000000000000000000000000000000004000000000000000000000000000
  8972. 000000000000000000000000000000004000000000000000000000000000
  8973. 000000000000000000000000000000004000000000000000000000000000
  8974. 000000000000000000000000000000004000000000000000000000000000
  8975. 000000000000000000000000000000004000000000000000000000000000
  8976. 000000000000000000000000000000004000000000000000000000000000
  8977. 000000000000000000000000000000004000000000000000000000000000
  8978. 000000000000000000000000000000004000000000000000000000000000
  8979. 000000000000000000000000000000004000000000000000000000000000
  8980. 000000000000000000000000000000004000000000000000000000000000
  8981. 000000000000000000000000000000004000000000000000000000000000
  8982. 000000000000000000000000000000004000000000000000000000000000
  8983. 000000000000000000000000000000004000000000000000000000000000
  8984. 000000000000000000000000000000004000000000000000000000000000
  8985. 000000000000000000000000000000004000000000000000000000000000
  8986. 000000000000000000000000000000004000000000000000000000000000
  8987. 000000000000000000000000000000004000000000000000000000000000
  8988. 000000000000000000000000000000004000000000000000000000000000
  8989. 000000000000000000000000000000004000000000000000000000000000
  8990. 0FFFFE000000000000000000000000004000000000000000000000000000
  8991. 080002000000000000000000000000004000000000000000000000000000
  8992. 080002000000000000000000000000004000000000000000000000000000
  8993. 080002000000000000000000000000004000000000000000000000000000
  8994. 080002000000000000000000000000004000000000000000000000000000
  8995. 080002000000000000000000000000004000000000000000000000000000
  8996. 080002001000200040008001000200044000000000000000000000000000
  8997. 080002000800100020004000800100024000000000000000000000000000
  8998. 080002000400080010002000400080014000000000000000000000000000
  8999. 080003FFFFFFFFFFFFFFFFFFFFFFFFFFC000000000000000000000000000
  9000. 080002000400080010002000400080010000000000000000000000000000
  9001. 080002000800100020004000800100020000000000000000000000000000
  9002. 080002001000200040008001000200040000000000000000000000000000
  9003. 080002000000000000000000000000000000000000000000000000000000
  9004. 080002000000000000000000000000000000000000000000000000000000
  9005. 080002000000000000000000000000000000000000000000000000000000
  9006. 080002000000000000000000000000000000000000000000000000000000
  9007. 080002000000000000000000000000000000000000000000000000000000
  9008. 0FFFFE000000000000000000000000000000000000000000000000000000
  9009. 000000000000000000000000000000000000000000000000000000000000
  9010. 000000000000000000000000000000000000000000000000000000000000
  9011. 000000000000000000000000000000000000000000000000000000000000
  9012. 000000000000000000000000000000000000000000000000000000000000
  9013. 000000000000000000000000000000000000000000000000000000000000
  9014. 000000000000000000000000000000000000000000000000000000000000
  9015. 479 223 gm
  9016. (nc 32 30 762 582 6 rc)kp
  9017. bu fc
  9018. 2 F /|______Times-Roman fnt
  9019. bn
  9020. -0.04992 0.(Figure 4.5  A Line Cutting Session)ashow
  9021. F T cp
  9022. %%Page: ? 54
  9023. op
  9024. 32 30 xl
  9025. 1 1 pen
  9026. 735 300 gm
  9027. (nc 32 30 762 582 6 rc)kp
  9028. 1 setTxMode
  9029. 0 fs
  9030. 12 fz
  9031. bu fc
  9032. 2 F /|______Times-Roman fnt
  9033. bn
  9034. (50)show
  9035. 104 183 gm
  9036. 1 fs
  9037. 14 fz
  9038. bu fc
  9039. 2 F /|______Times-Bold fnt
  9040. bn
  9041. 3.28475 0. 32 0.32847 0.(Chapter 5.)awidthshow
  9042. 104 291 gm
  9043. 4.51812 0. 32 0.45181 0.(FOIBLE Accessories)awidthshow
  9044. 141 81 gm
  9045. 12 fz
  9046. bu fc
  9047. 2 F /|______Times-Bold fnt
  9048. bn
  9049. 1.99996 0.(5.1.)ashow
  9050. 141 117 gm
  9051. 0.36869 0.(IconManager)ashow
  9052. 177 81 gm
  9053. 0 fs
  9054. bu fc
  9055. 2 F /|______Times-Roman fnt
  9056. bn
  9057. -0.03457 0.(The IconManager class provides two useful functions.  IconManger has a stand-alone tool that)ashow
  9058. 201 81 gm
  9059. 0.31112 0. 32 0.03111 0.(can be used to create, edit, and store icons.  IconManager also implements class protocol for)awidthshow
  9060. 225 81 gm
  9061. -0.07322 0.(retrieving icons that are stored on disk.)ashow
  9062. 261 81 gm
  9063. 0.31204 0. 32 0.03120 0.(The general purpose icon editor will not only be useful to FOIBLE users, but also to anyone)awidthshow
  9064. 285 81 gm
  9065. 0.21286 0. 32 0.02128 0.(who wishes to create, edit, and store forms.  General purpose tools, such as this, are a part of)awidthshow
  9066. 309 81 gm
  9067. -0.08181 0.(the whole object-oriented philosophy.)ashow
  9068. 345 81 gm
  9069. -0.06304 0.(The IconManager allows users to easily create and edit icons for use in FOIBLE.  Each form is)ashow
  9070. 369 81 gm
  9071. 0.96908 0. 32 0.09690 0.(stored in a file, on disk.  The IconManager reads in all of the forms contained in a single)awidthshow
  9072. 393 81 gm
  9073. 1.58325 0. 32 0.15832 0.(directory.  Operations that can be performed include creating a new icon, and deleting,)awidthshow
  9074. 417 81 gm
  9075. -0.09004 0.(copying, or editing an existing icon.  Icons are edited with the Smalltalk BitEditor.)ashow
  9076. 453 81 gm
  9077. -0.13623 0.(IconManager class protocol for instance creation:)ashow
  9078. 477 81 gm
  9079. 1 fs
  9080. bu fc
  9081. 2 F /|______Times-Bold fnt
  9082. bn
  9083. 2.75726 0. 32 0.27572 0.(openDir: aDirectory)awidthshow
  9084. 477 225 gm
  9085. 0 fs
  9086. bu fc
  9087. 2 F /|______Times-Roman fnt
  9088. bn
  9089. -0.10546 0.(open a new window for editing the icons in directory aDirectory)ashow
  9090. 513 81 gm
  9091. -0.12464 0.(IconManager protocol for accessing:)ashow
  9092. 537 81 gm
  9093. 1 fs
  9094. bu fc
  9095. 2 F /|______Times-Bold fnt
  9096. bn
  9097. 0.52014 0.(iconExtent)ashow
  9098. 537 189 gm
  9099. 0 fs
  9100. bu fc
  9101. 2 F /|______Times-Roman fnt
  9102. bn
  9103. -0.12881 0.(return the size of a newly created icon)ashow
  9104. 573 81 gm
  9105. 0.10925 0. 32 0.01092 0.(Since icons will probably be of varying sizes, IconManager provides an easy way of defining)awidthshow
  9106. 597 81 gm
  9107. 0.12329 0. 32 0.01232 0.(the size of a new icon that it creates.  The )awidthshow
  9108. 2 fs
  9109. bu fc
  9110. 2 F /|______Times-Italic fnt
  9111. bn
  9112. 0.04853 0.(iconExtent)ashow
  9113. 0 fs
  9114. bu fc
  9115. 2 F /|______Times-Roman fnt
  9116. bn
  9117. 0.15182 0. 32 0.01518 0.( method stores the size of form to create)awidthshow
  9118. 621 81 gm
  9119. -0.01568 0.(when a new icon is created.  To change the size of a new icon, the user need only edit this one)ashow
  9120. 645 81 gm
  9121. (method.)show
  9122. F T cp
  9123. %%Page: ? 55
  9124. op
  9125. 32 30 xl
  9126. 1 1 pen
  9127. 735 300 gm
  9128. (nc 32 30 762 582 6 rc)kp
  9129. 1 setTxMode
  9130. 0 fs
  9131. 12 fz
  9132. bu fc
  9133. 2 F /|______Times-Roman fnt
  9134. bn
  9135. (51)show
  9136. 93 81 gm
  9137. -0.07009 0.(IconManager also retrieves icons for classes in FOIBLE.  The icons for all FOIBLE classes are)ashow
  9138. 117 81 gm
  9139. -0.11605 0.(stored in files, and Foible and Tool each implement an interface to IconManager.)ashow
  9140. 153 81 gm
  9141. -0.13050 0.(IconManager class protocol for form retrieval:)ashow
  9142. 177 81 gm
  9143. 1 fs
  9144. bu fc
  9145. 2 F /|______Times-Bold fnt
  9146. bn
  9147. 3.48754 0. 32 0.34875 0.(getIcon: iconName)awidthshow
  9148. 0 fs
  9149. bu fc
  9150. 2 F /|______Times-Roman fnt
  9151. bn
  9152. ( )show
  9153. 177 261 gm
  9154. -0.16041 0.(retrieve iconName from the directory iconDirectory)ashow
  9155. 195 81 gm
  9156. 0.23742 0. 32 0.02374 0.( )awidthshow
  9157. 1 fs
  9158. bu fc
  9159. 2 F /|______Times-Bold fnt
  9160. bn
  9161. 2.81509 0. 32 0.28150 0.( fromDirectory: iconDirectory)awidthshow
  9162. 219 81 gm
  9163. 3.06503 0. 32 0.30650 0.(getCursor: cursorName)awidthshow
  9164. 0 fs
  9165. bu fc
  9166. 2 F /|______Times-Roman fnt
  9167. bn
  9168. ( )show
  9169. 219 261 gm
  9170. -0.12260 0.(retrieve cursorName from the directory cursorDirectory)ashow
  9171. 237 81 gm
  9172. 0.20492 0. 32 0.02049 0.(  )awidthshow
  9173. 1 fs
  9174. bu fc
  9175. 2 F /|______Times-Bold fnt
  9176. bn
  9177. 3.16360 0. 32 0.31636 0.(fromDirectory: cursorDirectory)awidthshow
  9178. 273 81 gm
  9179. 0 fs
  9180. bu fc
  9181. 2 F /|______Times-Roman fnt
  9182. bn
  9183. 2.49420 0. 32 0.24942 0.(To simplify the design and handling of icons, Foible and Tool have an interface to)awidthshow
  9184. 297 81 gm
  9185. -0.04737 0.(IconManager.  The icons and cursors for all Foibles and Tools are stored in individual files, on)ashow
  9186. 321 81 gm
  9187. -0.03746 0.(disk, and IconManager reads these forms in.)ashow
  9188. 357 81 gm
  9189. 0.56838 0. 32 0.05683 0.(There are several reasons for using the IconManager.  First, the forms no longer have to be)awidthshow
  9190. 381 81 gm
  9191. 0.05126 0. 32 0.00512 0.(hard-coded in any methods; this not only produces more readable code, but also reduces code)awidthshow
  9192. 405 81 gm
  9193. 0.25588 0. 32 0.02558 0.(size.  Another benefit is the ease of changing an icon for a Foible.  The icon for a Foible can)awidthshow
  9194. 429 81 gm
  9195. 0.37567 0. 32 0.03756 0.(instantly be changed by editing the file on disk with the editing functions available from the)awidthshow
  9196. 453 81 gm
  9197. -0.08712 0.(IconManager.)ashow
  9198. 489 81 gm
  9199. 1.77383 0. 32 0.17738 0.(Foible and Tool implement several methods that interface with the IconManager.  The)awidthshow
  9200. 513 81 gm
  9201. 2 fs
  9202. bu fc
  9203. 2 F /|______Times-Italic fnt
  9204. bn
  9205. -0.04400 0.(iconDirectory)ashow
  9206. 0 fs
  9207. bu fc
  9208. 2 F /|______Times-Roman fnt
  9209. bn
  9210. -0.04319 0.( method must be implemented by subclasses.  The )ashow
  9211. 2 fs
  9212. bu fc
  9213. 2 F /|______Times-Italic fnt
  9214. bn
  9215. -0.04400 0.(iconDirectory)ashow
  9216. 0 fs
  9217. bu fc
  9218. 2 F /|______Times-Roman fnt
  9219. bn
  9220. -0.04571 0.( method returns)ashow
  9221. 537 81 gm
  9222. 0.23254 0. 32 0.02325 0.(the full path to the directory that contains the icon for a Foible.  This allows flexibility in the)awidthshow
  9223. 561 81 gm
  9224. -0.08670 0.(organization of the form files.)ashow
  9225. 597 81 gm
  9226. -0.03419 0.(We have used a standard naming strategy for icons, although icons can still be shared between)ashow
  9227. 621 81 gm
  9228. 0.44967 0. 32 0.04496 0.(applications.  Since most boxes have only one icon, the class name is used as the name of a)awidthshow
  9229. 645 81 gm
  9230. -0.03517 0.(box's icon.  Tools have two forms, a cursor and an icon for the palette, and the form names are)ashow
  9231. 669 81 gm
  9232. 0.21850 0. 32 0.02185 0.(<class name>.cur and <class name>.icn, respectively.  Foible also has a method for FOIBLE)awidthshow
  9233. 693 81 gm
  9234. 1.44302 0. 32 0.14430 0.(classes that do not follow the naming convention.  The name of the icon is passed as a)awidthshow
  9235. F T cp
  9236. %%Page: ? 56
  9237. op
  9238. 32 30 xl
  9239. 1 1 pen
  9240. 735 300 gm
  9241. (nc 32 30 762 582 6 rc)kp
  9242. 1 setTxMode
  9243. 0 fs
  9244. 12 fz
  9245. bu fc
  9246. 2 F /|______Times-Roman fnt
  9247. bn
  9248. (52)show
  9249. 93 81 gm
  9250. -0.03056 0.(parameter.  This allows icons to be shared between applications.  Several of the same methods)ashow
  9251. 117 81 gm
  9252. -0.11839 0.(are implemented in both Tool and Foible.)ashow
  9253. 153 81 gm
  9254. -0.08702 0.(Foible and Tool class methods for form access:)ashow
  9255. 177 81 gm
  9256. 1 fs
  9257. bu fc
  9258. 2 F /|______Times-Bold fnt
  9259. bn
  9260. 0.57476 0.(baseform)ashow
  9261. 177 225 gm
  9262. 0 fs
  9263. bu fc
  9264. 2 F /|______Times-Roman fnt
  9265. bn
  9266. -0.10317 0.(return my class icon)ashow
  9267. 201 81 gm
  9268. 1 fs
  9269. bu fc
  9270. 2 F /|______Times-Bold fnt
  9271. bn
  9272. 0.66941 0.(getIcon)ashow
  9273. 201 225 gm
  9274. 0 fs
  9275. bu fc
  9276. 2 F /|______Times-Roman fnt
  9277. bn
  9278. -0.11791 0.(retrieve my icon from disk)ashow
  9279. 225 81 gm
  9280. 1 fs
  9281. bu fc
  9282. 2 F /|______Times-Bold fnt
  9283. bn
  9284. 3.73474 0. 32 0.37347 0.(getIcon: iconName)awidthshow
  9285. 225 225 gm
  9286. 0 fs
  9287. bu fc
  9288. 2 F /|______Times-Roman fnt
  9289. bn
  9290. -0.13117 0.(retrieve the icon with name iconName from disk)ashow
  9291. 249 81 gm
  9292. 1 fs
  9293. bu fc
  9294. 2 F /|______Times-Bold fnt
  9295. bn
  9296. 0.53120 0.(iconDirectory)ashow
  9297. 249 225 gm
  9298. 0 fs
  9299. bu fc
  9300. 2 F /|______Times-Roman fnt
  9301. bn
  9302. -0.12126 0.(return the path to the directory that my icon is stored in)ashow
  9303. 285 81 gm
  9304. 1.31805 0. 32 0.13180 0.(Tool also has protocol for retrieving its cursors.  A special method is needed to retrieve)awidthshow
  9305. 309 81 gm
  9306. 0.35125 0. 32 0.03512 0.(cursors, because icons and cursors are stored the same way, but a Cursor is a special type of)awidthshow
  9307. 333 81 gm
  9308. 0.28961 0. 32 0.02896 0.(form.  When the form for a cursor is read in, it is converted by IconManager.  Implementing)awidthshow
  9309. 357 81 gm
  9310. -0.14726 0.(the interface to IconManager is relatively simple.)ashow
  9311. 393 81 gm
  9312. -0.08598 0.(Tool class methods for form access:)ashow
  9313. 417 81 gm
  9314. 1 fs
  9315. bu fc
  9316. 2 F /|______Times-Bold fnt
  9317. bn
  9318. 0.50338 0.(getCursor)ashow
  9319. 417 225 gm
  9320. 0 fs
  9321. bu fc
  9322. 2 F /|______Times-Roman fnt
  9323. bn
  9324. -0.08401 0.(retrieve my cursor from disk)ashow
  9325. 441 81 gm
  9326. 1 fs
  9327. bu fc
  9328. 2 F /|______Times-Bold fnt
  9329. bn
  9330. 3.24493 0. 32 0.32449 0.(getCursor: cursorName)awidthshow
  9331. 441 225 gm
  9332. 0 fs
  9333. bu fc
  9334. 2 F /|______Times-Roman fnt
  9335. bn
  9336. -0.09266 0.(retrieve the cursor with name cursorName from disk)ashow
  9337. 477 81 gm
  9338. -0.11448 0.(Foible class protocol for form retrieval:)ashow
  9339. 514 81 gm
  9340. bu fc
  9341. 2 F /|______Courier fnt
  9342. bn
  9343. -0.20266 0.(getIcon: iconName fromDirectory: iconDirectory)ashow
  9344. 538 117 gm
  9345. -0.20191 0.(^IconManager getIcon: fromDirectory: self iconDirectory)ashow
  9346. 591 81 gm
  9347. bu fc
  9348. 2 F /|______Times-Roman fnt
  9349. bn
  9350. -0.10351 0.(The class variables that store the icons and cursors are initialized the first time that the variables)ashow
  9351. 615 81 gm
  9352. -0.08685 0.(are accessed.  If a variable has been initialized then the variable is simply returned.  If it has not)ashow
  9353. 639 81 gm
  9354. -0.02891 0.(been initialized then IconManager is asked to retrieve the form, and the variable is set.  This is)ashow
  9355. 663 81 gm
  9356. 1.43508 0. 32 0.14350 0.(done to prevent errors when filing an application into the Smalltalk image.  If the class)awidthshow
  9357. 687 81 gm
  9358. -0.01168 0.(variables were initialized when the code was filed in then directory that the icons are stored in)ashow
  9359. F T cp
  9360. %%Page: ? 57
  9361. op
  9362. 32 30 xl
  9363. 1 1 pen
  9364. 735 300 gm
  9365. (nc 32 30 762 582 6 rc)kp
  9366. 1 setTxMode
  9367. 0 fs
  9368. 12 fz
  9369. bu fc
  9370. 2 F /|______Times-Roman fnt
  9371. bn
  9372. (53)show
  9373. 93 81 gm
  9374. -0.07391 0.(would have to added to the code in some way.  There is no way to do this without requiring the)ashow
  9375. 117 81 gm
  9376. 0.67520 0. 32 0.06752 0.(user to edit the code before it is filed, and editing a Smalltalk file should not be necessary.)awidthshow
  9377. 141 81 gm
  9378. 0.18920 0. 32 0.01892 0.(Now, it is possible to file in the code for an application, without the directory being accessed)awidthshow
  9379. 165 81 gm
  9380. -0.12661 0.(since the icons are not initialized.  The directory can be set after the application has been filed in)ashow
  9381. 189 81 gm
  9382. -0.09199 0.(and before an application is started up.)ashow
  9383. 249 81 gm
  9384. 1 fs
  9385. bu fc
  9386. 2 F /|______Times-Bold fnt
  9387. bn
  9388. 1.99996 0.(5.2.)ashow
  9389. 249 117 gm
  9390. 3.02291 0. 32 0.30229 0.(Binary Store)awidthshow
  9391. 285 81 gm
  9392. 0 fs
  9393. bu fc
  9394. 2 F /|______Times-Roman fnt
  9395. bn
  9396. 0.02853 0. 32 0.00285 0.(A FOIBLE layout is stored using a )awidthshow
  9397. 2 fs
  9398. bu fc
  9399. 2 F /|______Times-Italic fnt
  9400. bn
  9401. 0.00895 0.(storeBinary)ashow
  9402. 0 fs
  9403. bu fc
  9404. 2 F /|______Times-Roman fnt
  9405. bn
  9406. 0.03112 0. 32 0.00311 0.( method, which is a very useful public domain)awidthshow
  9407. 309 81 gm
  9408. 0.78430 0. 32 0.07843 0.(method.  Layouts previously could be stored, using the )awidthshow
  9409. 2 fs
  9410. bu fc
  9411. 2 F /|______Times-Italic fnt
  9412. bn
  9413. 0.21932 0.(storeStructureOn:)ashow
  9414. 0 fs
  9415. bu fc
  9416. 2 F /|______Times-Roman fnt
  9417. bn
  9418. 0.74020 0. 32 0.07402 0.( method, but the)awidthshow
  9419. 333 81 gm
  9420. 2 fs
  9421. bu fc
  9422. 2 F /|______Times-Italic fnt
  9423. bn
  9424. -0.08132 0.(storeBinary)ashow
  9425. 0 fs
  9426. bu fc
  9427. 2 F /|______Times-Roman fnt
  9428. bn
  9429. -0.07441 0.( method is much more efficient.  The only thing that is lost is the ability to examine)ashow
  9430. 357 81 gm
  9431. 0.57296 0. 32 0.05729 0.(and edit a file that was created by )awidthshow
  9432. 2 fs
  9433. bu fc
  9434. 2 F /|______Times-Italic fnt
  9435. bn
  9436. 0.20820 0.(storeStructureOn:)ashow
  9437. 0 fs
  9438. bu fc
  9439. 2 F /|______Times-Roman fnt
  9440. bn
  9441. 0.21392 0. 32 0.02139 0.(; )awidthshow
  9442. 2 fs
  9443. bu fc
  9444. 2 F /|______Times-Italic fnt
  9445. bn
  9446. 0.20881 0.(binaryStore)ashow
  9447. 0 fs
  9448. bu fc
  9449. 2 F /|______Times-Roman fnt
  9450. bn
  9451. 0.63079 0. 32 0.06307 0.( creates a binary file that)awidthshow
  9452. 381 81 gm
  9453. 0.00579 0. 32 0.00057 0.(cannot be examined.  However, we feel that the savings in disk space is well worth the loss in)awidthshow
  9454. 405 81 gm
  9455. -0.12026 0.(flexibility.)ashow
  9456. F T cp
  9457. %%Page: ? 58
  9458. op
  9459. 32 30 xl
  9460. 1 1 pen
  9461. 735 300 gm
  9462. (nc 32 30 762 582 6 rc)kp
  9463. 1 setTxMode
  9464. 0 fs
  9465. 12 fz
  9466. bu fc
  9467. 2 F /|______Times-Roman fnt
  9468. bn
  9469. (54)show
  9470. 104 202 gm
  9471. 1 fs
  9472. 14 fz
  9473. bu fc
  9474. 2 F /|______Times-Bold fnt
  9475. bn
  9476. 3.28475 0. 32 0.32847 0.(Chapter 6.)awidthshow
  9477. 104 310 gm
  9478. 3.98849 0. 32 0.39884 0.(Using FOIBLE)awidthshow
  9479. 141 81 gm
  9480. 12 fz
  9481. bu fc
  9482. 2 F /|______Times-Bold fnt
  9483. bn
  9484. 1.99996 0.(6.1.)ashow
  9485. 141 117 gm
  9486. 2.35885 0. 32 0.23588 0.(An Outline of Using FOIBLE)awidthshow
  9487. 177 81 gm
  9488. 0 fs
  9489. bu fc
  9490. 2 F /|______Times-Roman fnt
  9491. bn
  9492. -0.03813 0.(Any application built with FOIBLE must provide concrete subclasses of the abstract classes in)ashow
  9493. 201 81 gm
  9494. 1.81777 0. 32 0.18177 0.(FOIBLE, including FoibleBox, FoibleLink, Tool, FoibleManager, ToolBenchView, and)awidthshow
  9495. 225 81 gm
  9496. 2.18017 0. 32 0.21801 0.(perhaps Ports.  The subclasses define the specific behavior of the system, as well as)awidthshow
  9497. 249 81 gm
  9498. -0.04847 0.(implementation details that are not provided in FOIBLE.  In particular, they define how values)ashow
  9499. 273 81 gm
  9500. -0.02986 0.(are calculated and passed through a system.  Different visual languages have different ways of)ashow
  9501. 297 81 gm
  9502. 0.32501 0. 32 0.03250 0.(computing values, so it is not implemented in FOIBLE.  The following is an outline of what)awidthshow
  9503. 321 81 gm
  9504. 1.31072 0. 32 0.13107 0.(must be done in these subclasses in order to create a visual programming language with)awidthshow
  9505. 345 81 gm
  9506. -0.22085 0.(FOIBLE:)ashow
  9507. 381 99 gm
  9508. -0.08360 0.(FoibleBox)ashow
  9509. 381 189 gm
  9510. -0.08215 0.(define forms \(using IconManager\), define how values are computed)ashow
  9511. 405 99 gm
  9512. -0.14764 0.(FoibleLink)ashow
  9513. 405 189 gm
  9514. -0.07316 0.(define forms and define how values are passed)ashow
  9515. 429 99 gm
  9516. -0.22132 0.(Tool)ashow
  9517. 429 189 gm
  9518. -0.07711 0.(define forms and menus)ashow
  9519. 453 99 gm
  9520. -0.19201 0.(FoibleManager)ashow
  9521. 453 189 gm
  9522. -0.10502 0.(define how a program is executed)ashow
  9523. 477 99 gm
  9524. -0.19221 0.(ToolBenchView)ashow
  9525. 477 189 gm
  9526. -0.05892 0.(define classes of Tools to be used, define number of canvases)ashow
  9527. 513 81 gm
  9528. 1.36825 0. 32 0.13682 0.(This outline contains a minimum of what must be done.  A developer may also have to)awidthshow
  9529. 537 81 gm
  9530. 0.96374 0. 32 0.09637 0.(implement other operations that are not provided in FOIBLE.  To give the reader a better)awidthshow
  9531. 561 81 gm
  9532. -0.01757 0.(understanding of how FOIBLE is used to build a visual programming system, the next section)ashow
  9533. 585 81 gm
  9534. -0.02996 0.(describes how FlowKit [Scae88] was built using FOIBLE.)ashow
  9535. F T cp
  9536. %%Page: ? 59
  9537. op
  9538. 32 30 xl
  9539. 1 1 pen
  9540. 735 300 gm
  9541. (nc 32 30 762 582 6 rc)kp
  9542. 1 setTxMode
  9543. 0 fs
  9544. 12 fz
  9545. bu fc
  9546. 2 F /|______Times-Roman fnt
  9547. bn
  9548. (55)show
  9549. 105 81 gm
  9550. 1 fs
  9551. bu fc
  9552. 2 F /|______Times-Bold fnt
  9553. bn
  9554. 1.99996 0.(6.2.)ashow
  9555. 105 117 gm
  9556. 2.41027 0. 32 0.24102 0.(An Example of Using FOIBLE)awidthshow
  9557. 141 81 gm
  9558. 0 fs
  9559. bu fc
  9560. 2 F /|______Times-Roman fnt
  9561. bn
  9562. 0.82931 0. 32 0.08293 0.(The implementation of FlowKit is slightly more complex than most FOIBLE applications,)awidthshow
  9563. 165 81 gm
  9564. 0.54077 0. 32 0.05407 0.(because FlowKit has two canvases.  Some of the boxes in FlowKit have a representation in)awidthshow
  9565. 189 81 gm
  9566. -0.03662 0.(both canvases, and the boxes, tools, and managers in FlowKit must be able to handle this.)ashow
  9567. 225 81 gm
  9568. 1.15219 0. 32 0.11521 0.(FlowKitBox is a subclass of FoibleBox that is the abstract class of all boxes in FlowKit.)awidthshow
  9569. 249 81 gm
  9570. 0.86288 0. 32 0.08628 0.(Protocol that is needed by all, or at least most, of the boxes in FlowKit is implemented in)awidthshow
  9571. 273 81 gm
  9572. 2.45483 0. 32 0.24548 0.(FlowKitBox.  Some of the boxes in FlowKit display their values on the screen and)awidthshow
  9573. 297 81 gm
  9574. 0.96176 0. 32 0.09617 0.(FlowKitBox implements this.  FlowKitBox also implements the protocol for calculating a)awidthshow
  9575. 321 81 gm
  9576. -0.03417 0.(box's value.  Each application built with FOIBLE must implement the manner in which values)ashow
  9577. 345 81 gm
  9578. -0.10115 0.(are calculated and sent through the system.)ashow
  9579. 381 81 gm
  9580. 0.21942 0. 32 0.02194 0.(FlowKit is a dataflow language, where tokens are used to pass values through the system.  A)awidthshow
  9581. 405 81 gm
  9582. 0.16311 0. 32 0.01631 0.(box waits until it receives a token from each of its inputs, and then the box calculates its new)awidthshow
  9583. 429 81 gm
  9584. -0.07470 0.(value and sends a token to its outputs.  To start the execution of a dataflow program, tokens are)ashow
  9585. 453 81 gm
  9586. -0.07839 0.(sent to each of the boxes that contains user input.)ashow
  9587. 489 81 gm
  9588. -0.10047 0.(FlowKitBox protocol for calculations:)ashow
  9589. 526 81 gm
  9590. bu fc
  9591. 2 F /|______Courier fnt
  9592. bn
  9593. -0.24781 0.(token)ashow
  9594. 544 117 gm
  9595. -0.20361 0.(" I have been sent a new input value ")ashow
  9596. 562 117 gm
  9597. -0.20991 0.(| values results |)ashow
  9598. 580 117 gm
  9599. -0.20509 0.(values <- self getInputValues.)ashow
  9600. 598 117 gm
  9601. -0.20619 0.(values isNil ifTrue: ^nil.)ashow
  9602. 616 117 gm
  9603. -0.20347 0.(results <- self calculateValue: values.)ashow
  9604. 634 117 gm
  9605. -0.20588 0.(self outputResults: results)ashow
  9606. F T cp
  9607. %%Page: ? 60
  9608. op
  9609. 32 30 xl
  9610. 1 1 pen
  9611. 735 300 gm
  9612. (nc 32 30 762 582 6 rc)kp
  9613. 1 setTxMode
  9614. 0 fs
  9615. 12 fz
  9616. bu fc
  9617. 2 F /|______Times-Roman fnt
  9618. bn
  9619. (56)show
  9620. 106 81 gm
  9621. bu fc
  9622. 2 F /|______Courier fnt
  9623. bn
  9624. -0.21350 0.(getInputValues)ashow
  9625. 124 117 gm
  9626. -0.20239 0.(" try to calculate my value, based on my inputs ")ashow
  9627. 142 117 gm
  9628. -0.20179 0.(inputPorts do: [:each | each value isNil ifTrue: [^nil]].)ashow
  9629. 160 117 gm
  9630. -0.20321 0.(^inputPorts collect: [:each | each value])ashow
  9631. 196 81 gm
  9632. -0.20770 0.(calculateValue: values)ashow
  9633. 214 117 gm
  9634. -0.21627 0.(| formulas |)ashow
  9635. 232 117 gm
  9636. -0.20619 0.(formulas <- self formulas.)ashow
  9637. 250 117 gm
  9638. -0.21350 0.(values isEmpty)ashow
  9639. 268 117 gm
  9640. -0.22303 0.(ifTrue: [)ashow
  9641. 286 135 gm
  9642. -0.20509 0.(self value: \(formulas collect:)ashow
  9643. 304 153 gm
  9644. -0.20559 0.([:each | each value: self]\)])ashow
  9645. 322 117 gm
  9646. -0.22027 0.(ifFalse: [)ashow
  9647. 340 135 gm
  9648. -0.20509 0.(self value: \(formulas collect:)ashow
  9649. 358 153 gm
  9650. -0.20214 0.([:each | each valueWithArguments: values asArray]\)].)ashow
  9651. 376 117 gm
  9652. -0.21807 0.(^self value)ashow
  9653. 412 81 gm
  9654. -0.20770 0.(outputResults: results)ashow
  9655. 430 117 gm
  9656. -0.20207 0.(" display and/or send the results of my calculation ")ashow
  9657. 448 117 gm
  9658. -0.20588 0.(self displayValue: results.)ashow
  9659. 466 117 gm
  9660. -0.20167 0.(outputPort with: results do: [:port :tok | port token: tok])ashow
  9661. 501 81 gm
  9662. bu fc
  9663. 2 F /|______Times-Roman fnt
  9664. bn
  9665. 0.34133 0. 32 0.03413 0.(The subclasses of FlowKitBox define the different categories of boxes available in FlowKit.)awidthshow
  9666. 525 81 gm
  9667. 0.83129 0. 32 0.08312 0.(Some of these categories include function boxes, logic boxes, and input and output boxes.)awidthshow
  9668. 549 81 gm
  9669. 0.22003 0. 32 0.02200 0.(Most subclasses of FlowKitBox only have to implement a few methods, unless the operation)awidthshow
  9670. 573 81 gm
  9671. 0.25665 0. 32 0.02566 0.(of the box is very complicated.    FunctionBox is the subclass of FlowKitBox that represents)awidthshow
  9672. 597 81 gm
  9673. 1.87423 0. 32 0.18742 0.(binary functions in FlowKit.  All FunctionBoxes have two inputs and one output, and)awidthshow
  9674. 621 81 gm
  9675. -0.01431 0.(FunctionBox's single method is used to define its ports.)ashow
  9676. F T cp
  9677. %%Page: ? 61
  9678. op
  9679. 32 30 xl
  9680. 1 1 pen
  9681. 735 300 gm
  9682. (nc 32 30 762 582 6 rc)kp
  9683. 1 setTxMode
  9684. 0 fs
  9685. 12 fz
  9686. bu fc
  9687. 2 F /|______Times-Roman fnt
  9688. bn
  9689. (57)show
  9690. 105 81 gm
  9691. -0.14430 0.(FunctionBox protocol for initialization:)ashow
  9692. 142 81 gm
  9693. bu fc
  9694. 2 F /|______Courier fnt
  9695. bn
  9696. -0.21241 0.(initializePorts)ashow
  9697. 160 117 gm
  9698. -0.20651 0.(self inputs: 2 outputs: 1)ashow
  9699. 213 81 gm
  9700. bu fc
  9701. 2 F /|______Times-Roman fnt
  9702. bn
  9703. 0.92819 0. 32 0.09281 0.(Subclasses of FunctionBox include boxes to perform operations like addition, subtraction,)awidthshow
  9704. 237 81 gm
  9705. 1.72988 0. 32 0.17298 0.(multiplication, and division.  There are several different function boxes in FlowKit, so)awidthshow
  9706. 261 81 gm
  9707. 0.55541 0. 32 0.05554 0.(FunctionBox is an abstract class.  Subclasses of FunctionBox only have to reimplement the)awidthshow
  9708. 285 81 gm
  9709. 2 fs
  9710. bu fc
  9711. 2 F /|______Times-Italic fnt
  9712. bn
  9713. 0.57635 0.(initialize)ashow
  9714. 0 fs
  9715. bu fc
  9716. 2 F /|______Times-Roman fnt
  9717. bn
  9718. 2.37945 0. 32 0.23794 0.( method, which defines the formula that is used to calculate a box's value.)awidthshow
  9719. 309 81 gm
  9720. -0.11009 0.(AdditionBox is a subclass of FunctionBox, and it implements the )ashow
  9721. 2 fs
  9722. bu fc
  9723. 2 F /|______Times-Italic fnt
  9724. bn
  9725. -0.09356 0.(initialize)ashow
  9726. 0 fs
  9727. bu fc
  9728. 2 F /|______Times-Roman fnt
  9729. bn
  9730. -0.11358 0.( method to define the)ashow
  9731. 333 81 gm
  9732. -0.11743 0.(formula that an addition box uses to calculate its value.)ashow
  9733. 369 81 gm
  9734. -0.14250 0.(AdditionBox class protocol for class initialization:)ashow
  9735. 406 81 gm
  9736. bu fc
  9737. 2 F /|______Courier fnt
  9738. bn
  9739. -0.22027 0.(initialize)ashow
  9740. 424 117 gm
  9741. -0.20239 0.(formulas <- OrderedCollection with: [:a:b | a+b ])ashow
  9742. 477 81 gm
  9743. bu fc
  9744. 2 F /|______Times-Roman fnt
  9745. bn
  9746. 0.27267 0. 32 0.02726 0.(The implementation of boxes is not always this easy, but in many cases, only a few methods)awidthshow
  9747. 501 81 gm
  9748. -0.13458 0.(have to be implemented.)ashow
  9749. 537 81 gm
  9750. -0.04154 0.(Links in FlowKit are represented by the class WiringLink.  The only important protocol that is)ashow
  9751. 561 81 gm
  9752. 0.73654 0. 32 0.07365 0.(implemented in WiringLink is used for passing values between boxes.  All of the boxes in)awidthshow
  9753. 585 81 gm
  9754. -0.03901 0.(FlowKit are a subclass of BoxWithPorts, so the links in the system actually communicate with)ashow
  9755. 609 81 gm
  9756. 3.25729 0. 32 0.32572 0.(the ports on the boxes.  FlowKit has two classes of ports, FlowKitInputPort and)awidthshow
  9757. 633 81 gm
  9758. -0.06158 0.(FlowKitOutputPort, and these classes also implement passing values through the system.)ashow
  9759. F T cp
  9760. %%Page: ? 62
  9761. op
  9762. 32 30 xl
  9763. 1 1 pen
  9764. 735 300 gm
  9765. (nc 32 30 762 582 6 rc)kp
  9766. 1 setTxMode
  9767. 0 fs
  9768. 12 fz
  9769. bu fc
  9770. 2 F /|______Times-Roman fnt
  9771. bn
  9772. (58)show
  9773. 105 81 gm
  9774. -0.14631 0.(WiringLink protocol for calculations:)ashow
  9775. 142 81 gm
  9776. bu fc
  9777. 2 F /|______Courier fnt
  9778. bn
  9779. -0.21478 0.(token: aValue)ashow
  9780. 160 117 gm
  9781. -0.20167 0.(" my source has a new value, pass it to my destination box")ashow
  9782. 178 117 gm
  9783. -0.20651 0.(destination token: aValue)ashow
  9784. 231 81 gm
  9785. bu fc
  9786. 2 F /|______Times-Roman fnt
  9787. bn
  9788. -0.09382 0.(FlowKitInputPort protocol for calculations:)ashow
  9789. 268 81 gm
  9790. bu fc
  9791. 2 F /|______Courier fnt
  9792. bn
  9793. -0.24781 0.(value)ashow
  9794. 286 117 gm
  9795. -0.23789 0.(^value)ashow
  9796. 322 81 gm
  9797. -0.21478 0.(token: aValue)ashow
  9798. 340 117 gm
  9799. -0.21147 0.(value <- aValue.)ashow
  9800. 358 117 gm
  9801. -0.22303 0.(box token)ashow
  9802. 411 81 gm
  9803. bu fc
  9804. 2 F /|______Times-Roman fnt
  9805. bn
  9806. -0.11492 0.(FlowKitOutputPort protocol for calculations:)ashow
  9807. 448 81 gm
  9808. bu fc
  9809. 2 F /|______Courier fnt
  9810. bn
  9811. -0.21478 0.(token: aValue)ashow
  9812. 466 117 gm
  9813. -0.22027 0.(link isNil)ashow
  9814. 484 153 gm
  9815. -0.20588 0.(ifFalse: [\(1 to: link size\))ashow
  9816. 502 225 gm
  9817. -0.20361 0.(do: [:i | \(link at: i\) token: aValue]])ashow
  9818. 555 81 gm
  9819. bu fc
  9820. 2 F /|______Times-Roman fnt
  9821. bn
  9822. 0.11871 0. 32 0.01187 0.(FlowKitManager is the subclass of FoibleManager that is used in FlowKit.  FlowKitManager)awidthshow
  9823. 579 81 gm
  9824. 1.31668 0. 32 0.13166 0.(has protocol for informing a box when it has received new input.  Because FlowKit has)awidthshow
  9825. 603 81 gm
  9826. -0.01315 0.(multiple views, it was necessary for FlowKitManager to implement protocol for adding a new)ashow
  9827. 627 81 gm
  9828. 0.41778 0. 32 0.04177 0.(box to a canvas.  FlowKitManager also implements protocol to execute a program, which is)awidthshow
  9829. 651 81 gm
  9830. 0.59112 0. 32 0.05911 0.(needed by the top level manger of each canvas.  To execute a program, each input box and)awidthshow
  9831. 675 81 gm
  9832. -0.02500 0.(control box is sent the )ashow
  9833. 2 fs
  9834. bu fc
  9835. 2 F /|______Times-Italic fnt
  9836. bn
  9837. -0.02862 0.(token)ashow
  9838. 0 fs
  9839. bu fc
  9840. 2 F /|______Times-Roman fnt
  9841. bn
  9842. -0.02682 0.( message, and the )ashow
  9843. 2 fs
  9844. bu fc
  9845. 2 F /|______Times-Italic fnt
  9846. bn
  9847. -0.02862 0.(token)ashow
  9848. 0 fs
  9849. bu fc
  9850. 2 F /|______Times-Roman fnt
  9851. bn
  9852. -0.02807 0.( messages are then propagated through the)ashow
  9853. 699 81 gm
  9854. -0.01679 0.(rest of the system.)ashow
  9855. F T cp
  9856. %%Page: ? 63
  9857. op
  9858. 32 30 xl
  9859. 1 1 pen
  9860. 735 300 gm
  9861. (nc 32 30 762 582 6 rc)kp
  9862. 1 setTxMode
  9863. 0 fs
  9864. 12 fz
  9865. bu fc
  9866. 2 F /|______Times-Roman fnt
  9867. bn
  9868. (59)show
  9869. 93 81 gm
  9870. -0.11839 0.(FlowKitManager protocol for executing a program:)ashow
  9871. 130 81 gm
  9872. bu fc
  9873. 2 F /|______Courier fnt
  9874. bn
  9875. -0.22303 0.(calculate)ashow
  9876. 148 117 gm
  9877. -0.20286 0.(boxes do: [:each | \(each isKindOf: InputBox\))ashow
  9878. 166 189 gm
  9879. -0.20770 0.(ifTrue: [each token]].)ashow
  9880. 184 117 gm
  9881. -0.20266 0.(boxes do: [:each | \(each isKindOf: ControlBox\))ashow
  9882. 202 189 gm
  9883. -0.20770 0.(ifTrue: [each token]].)ashow
  9884. 255 81 gm
  9885. bu fc
  9886. 2 F /|______Times-Roman fnt
  9887. bn
  9888. -0.01666 0.(FlowKitTool is the abstract class for all tools in FlowKit.  FlowKitTool overrides methods for)ashow
  9889. 279 81 gm
  9890. 2.33963 0. 32 0.23396 0.(adding new boxes, so that a related box can be added in the opposite canvas, when)awidthshow
  9891. 303 81 gm
  9892. 0.11062 0. 32 0.01106 0.(appropriate.  Applications that only have one canvas will not have to deal this.  Subclasses of)awidthshow
  9893. 327 81 gm
  9894. 1.15524 0. 32 0.11552 0.(FlowKitTool are the Tools that are available from the palette.  Most of the subclasses of)awidthshow
  9895. 351 81 gm
  9896. 2.42614 0. 32 0.24261 0.(FlowKitTool implement very few methods.  The menu of available choices must be)awidthshow
  9897. 375 81 gm
  9898. -0.13714 0.(implemented by each Tool.)ashow
  9899. 411 81 gm
  9900. 0.19866 0. 32 0.01986 0.(FunctionTool is the subclass of Tool that adds function boxes to a FlowKit canvas, and there)awidthshow
  9901. 435 81 gm
  9902. 0.61889 0. 32 0.06188 0.(are seven different types of function boxes that can be created with the FunctionTool.  The)awidthshow
  9903. 459 81 gm
  9904. 2 fs
  9905. bu fc
  9906. 2 F /|______Times-Italic fnt
  9907. bn
  9908. 0.07617 0.(installMenu)ashow
  9909. 0 fs
  9910. bu fc
  9911. 2 F /|______Times-Roman fnt
  9912. bn
  9913. 0.27008 0. 32 0.02700 0.( method defines the list of menu choices and their corresponding message that is)awidthshow
  9914. 483 81 gm
  9915. -0.09460 0.(sent to FunctionTool when a selection is made from the menu.)ashow
  9916. 519 81 gm
  9917. -0.04066 0.(Implementing the )ashow
  9918. 2 fs
  9919. bu fc
  9920. 2 F /|______Times-Italic fnt
  9921. bn
  9922. -0.04095 0.(installMenu)ashow
  9923. 0 fs
  9924. bu fc
  9925. 2 F /|______Times-Roman fnt
  9926. bn
  9927. -0.03907 0.( method is similar to plugging views together in MVC.  There is)ashow
  9928. 543 81 gm
  9929. 0.29129 0. 32 0.02912 0.(nothing complicated about implementing these methods; it is just a matter of defining things)awidthshow
  9930. 567 81 gm
  9931. -0.07032 0.(correctly.)ashow
  9932. F T cp
  9933. %%Page: ? 64
  9934. op
  9935. 32 30 xl
  9936. 1 1 pen
  9937. 735 300 gm
  9938. (nc 32 30 762 582 6 rc)kp
  9939. 1 setTxMode
  9940. 0 fs
  9941. 12 fz
  9942. bu fc
  9943. 2 F /|______Times-Roman fnt
  9944. bn
  9945. (60)show
  9946. 105 81 gm
  9947. -0.09422 0.(FunctionTool methods for menu setup:)ashow
  9948. 142 81 gm
  9949. bu fc
  9950. 2 F /|______Courier fnt
  9951. bn
  9952. -0.21807 0.(installMenu)ashow
  9953. 160 117 gm
  9954. -0.22027 0.(controller)ashow
  9955. 178 135 gm
  9956. -0.21064 0.(yellowButtonMenu:)ashow
  9957. 196 153 gm
  9958. -0.20991 0.(\(PopUpMenu labels:)ashow
  9959. 214 189 gm
  9960. -0.22303 0.('addition)ashow
  9961. 232 189 gm
  9962. -0.21350 0.(multiplication)ashow
  9963. 250 189 gm
  9964. -0.21807 0.(subtraction)ashow
  9965. 268 189 gm
  9966. -0.21147 0.(integer division)ashow
  9967. 286 189 gm
  9968. -0.21478 0.(real division)ashow
  9969. 304 189 gm
  9970. -0.23129 0.(minimum)ashow
  9971. 322 189 gm
  9972. -0.22303 0.(maximum'\))ashow
  9973. 340 135 gm
  9974. -0.20816 0.(yellowButtonMessages:)ashow
  9975. 358 153 gm
  9976. -0.20266 0.(#\(additionBox multiplicationBox subtractionBox)ashow
  9977. 376 153 gm
  9978. -0.20222 0.(  integerDivisionBox realDivisionBox minBox maxBox\))ashow
  9979. 429 81 gm
  9980. bu fc
  9981. 2 F /|______Times-Roman fnt
  9982. bn
  9983. 0.41137 0. 32 0.04113 0.(The message that is sent when a menu selection is made must also be implemented for each)awidthshow
  9984. 453 81 gm
  9985. 0.07492 0. 32 0.00749 0.(menu choice.  Messages that create a new box of a particular class are implemented using the)awidthshow
  9986. 477 81 gm
  9987. 2 fs
  9988. bu fc
  9989. 2 F /|______Times-Italic fnt
  9990. bn
  9991. 0.27066 0.(add:)ashow
  9992. 0 fs
  9993. bu fc
  9994. 2 F /|______Times-Roman fnt
  9995. bn
  9996. 0.91461 0. 32 0.09146 0.( message, which is implemented in FlowKitBox.  For example, when a user wants to)awidthshow
  9997. 501 81 gm
  9998. 0.11077 0. 32 0.01107 0.(create a new addition box, "addition" is selected from the menu, and the FunctionTool is sent)awidthshow
  9999. 525 81 gm
  10000. -0.05174 0.(the )ashow
  10001. 2 fs
  10002. bu fc
  10003. 2 F /|______Times-Italic fnt
  10004. bn
  10005. -0.06248 0.(additionBox)ashow
  10006. 0 fs
  10007. bu fc
  10008. 2 F /|______Times-Roman fnt
  10009. bn
  10010. -0.05870 0.( message, which is defined as:)ashow
  10011. 562 81 gm
  10012. bu fc
  10013. 2 F /|______Courier fnt
  10014. bn
  10015. -0.21807 0.(additionBox)ashow
  10016. 580 117 gm
  10017. -0.20816 0.(self add: AdditionBox)ashow
  10018. 633 81 gm
  10019. bu fc
  10020. 2 F /|______Times-Roman fnt
  10021. bn
  10022. 1.24832 0. 32 0.12483 0.(The Tools in any FOIBLE application must implement the menu choices and the related)awidthshow
  10023. 657 81 gm
  10024. (message to send.)show
  10025. F T cp
  10026. %%Page: ? 65
  10027. op
  10028. 32 30 xl
  10029. 1 1 pen
  10030. 735 300 gm
  10031. (nc 32 30 762 582 6 rc)kp
  10032. 1 setTxMode
  10033. 0 fs
  10034. 12 fz
  10035. bu fc
  10036. 2 F /|______Times-Roman fnt
  10037. bn
  10038. (61)show
  10039. 93 81 gm
  10040. 0.76736 0. 32 0.07673 0.(FlowKitView is the subclass of ToolBenchView that implements the creation of FlowKit's)awidthshow
  10041. 117 81 gm
  10042. 2.31643 0. 32 0.23164 0.(window and canvases.  FlowKitView also installs the tools into the canvases, in the)awidthshow
  10043. 141 81 gm
  10044. 2 fs
  10045. bu fc
  10046. 2 F /|______Times-Italic fnt
  10047. bn
  10048. -0.10189 0.(installCanvasTools)ashow
  10049. 0 fs
  10050. bu fc
  10051. 2 F /|______Times-Roman fnt
  10052. bn
  10053. -0.11872 0.( method.)ashow
  10054. 177 81 gm
  10055. 0.27847 0. 32 0.02784 0.(FlowKitView has to install Tools in each of its canvases; the NullTool is used when a "tool")awidthshow
  10056. 201 81 gm
  10057. 2.09991 0. 32 0.20999 0.(does not have any functionality in a certain canvas.  The )awidthshow
  10058. 2 fs
  10059. bu fc
  10060. 2 F /|______Times-Italic fnt
  10061. bn
  10062. 0.60260 0.(tools)ashow
  10063. 0 fs
  10064. bu fc
  10065. 2 F /|______Times-Roman fnt
  10066. bn
  10067. 2.23190 0. 32 0.22319 0.( method also must be)awidthshow
  10068. 225 81 gm
  10069. 1.22955 0. 32 0.12295 0.(implemented to initialize the icons for the palette.  Each application must implement the)awidthshow
  10070. 249 81 gm
  10071. 2 fs
  10072. bu fc
  10073. 2 F /|______Times-Italic fnt
  10074. bn
  10075. 0.08625 0.(installCanvasTools)ashow
  10076. 0 fs
  10077. bu fc
  10078. 2 F /|______Times-Roman fnt
  10079. bn
  10080. 0.15625 0. 32 0.01562 0.( and )awidthshow
  10081. 2 fs
  10082. bu fc
  10083. 2 F /|______Times-Italic fnt
  10084. bn
  10085. 0.07818 0.(tools)ashow
  10086. 0 fs
  10087. bu fc
  10088. 2 F /|______Times-Roman fnt
  10089. bn
  10090. 0.24902 0. 32 0.02490 0.(  methods to define the tools in the system and the icons for the)awidthshow
  10091. 273 81 gm
  10092. -0.14007 0.(palette.)ashow
  10093. 309 81 gm
  10094. -0.10334 0.(FlowKitView class protocol for private:)ashow
  10095. 346 81 gm
  10096. bu fc
  10097. 2 F /|______Courier fnt
  10098. bn
  10099. -0.20991 0.(installCanvasTools)ashow
  10100. 364 99 gm
  10101. -0.20533 0.(\(self canvas at: 1\) addTools:)ashow
  10102. 382 117 gm
  10103. -0.20770 0.(\(OrderedCollection new)ashow
  10104. 400 153 gm
  10105. -0.20726 0.(add: OperatingTool new;)ashow
  10106. 400 333 gm
  10107. -0.20726 0.(add: PlacementTool new;)ashow
  10108. 418 153 gm
  10109. -0.20927 0.(add: LabelTool new;)ashow
  10110. 418 333 gm
  10111. -0.20991 0.(add: NullTool new;)ashow
  10112. 436 153 gm
  10113. -0.20991 0.(add: NullTool new;)ashow
  10114. 436 333 gm
  10115. -0.20991 0.(add: NullTool new;)ashow
  10116. 454 153 gm
  10117. -0.20991 0.(add: NullTool new;)ashow
  10118. 454 333 gm
  10119. -0.20927 0.(add: InputTool new;)ashow
  10120. 472 153 gm
  10121. -0.20869 0.(add: OutputTool new;)ashow
  10122. 472 333 gm
  10123. -0.20991 0.(add: NullTool new;)ashow
  10124. 490 153 gm
  10125. -0.22027 0.(yourself\).)ashow
  10126. 520 99 gm
  10127. -0.20533 0.(\(self canvas at: 1\) addTools:)ashow
  10128. 538 117 gm
  10129. -0.20770 0.(\(OrderedCollection new)ashow
  10130. 556 153 gm
  10131. -0.20726 0.(add: OperatingTool new;)ashow
  10132. 556 333 gm
  10133. -0.20726 0.(add: PlacementTool new;)ashow
  10134. 574 153 gm
  10135. -0.20927 0.(add: LabelTool new;)ashow
  10136. 574 333 gm
  10137. -0.20869 0.(add: WiringTool new;)ashow
  10138. 592 153 gm
  10139. -0.20770 0.(add: FunctionTool new;)ashow
  10140. 592 333 gm
  10141. -0.20687 0.(add: ComparisonTool new;)ashow
  10142. 610 153 gm
  10143. -0.20816 0.(add: BooleanTool new;)ashow
  10144. 610 333 gm
  10145. -0.20991 0.(add: NullTool new;)ashow
  10146. 628 153 gm
  10147. -0.20991 0.(add: NullTool new;)ashow
  10148. 628 333 gm
  10149. -0.20816 0.(add: ControlTool new;)ashow
  10150. 646 153 gm
  10151. -0.22027 0.(yourself\).)ashow
  10152. F T cp
  10153. %%Page: ? 66
  10154. op
  10155. 32 30 xl
  10156. 1 1 pen
  10157. 735 300 gm
  10158. (nc 32 30 762 582 6 rc)kp
  10159. 1 setTxMode
  10160. 0 fs
  10161. 12 fz
  10162. bu fc
  10163. 2 F /|______Times-Roman fnt
  10164. bn
  10165. (62)show
  10166. 105 81 gm
  10167. -0.10334 0.(FlowKitView class protocol for private:)ashow
  10168. 142 81 gm
  10169. bu fc
  10170. 2 F /|______Courier fnt
  10171. bn
  10172. -0.24781 0.(tools)ashow
  10173. 160 99 gm
  10174. -0.20726 0.(^\(OrderedCollection new)ashow
  10175. 178 117 gm
  10176. -0.20687 0.(add: OperatingTool icon;)ashow
  10177. 196 117 gm
  10178. -0.20687 0.(add: PlacementTool icon;)ashow
  10179. 214 117 gm
  10180. -0.20869 0.(add: LabelTool icon;)ashow
  10181. 232 117 gm
  10182. -0.20816 0.(add: WiringTool icon;)ashow
  10183. 250 117 gm
  10184. -0.20726 0.(add: FunctionTool icon;)ashow
  10185. 268 117 gm
  10186. -0.20651 0.(add: ComparisonTool icon;)ashow
  10187. 286 117 gm
  10188. -0.20770 0.(add: BooleanTool icon;)ashow
  10189. 304 117 gm
  10190. -0.20869 0.(add: InputTool icon;)ashow
  10191. 322 117 gm
  10192. -0.20816 0.(add: OutputTool icon;)ashow
  10193. 340 117 gm
  10194. -0.20770 0.(add: ControlTool icon;)ashow
  10195. 358 117 gm
  10196. -0.22303 0.(yourself\))ashow
  10197. 411 81 gm
  10198. bu fc
  10199. 2 F /|______Times-Roman fnt
  10200. bn
  10201. -0.10261 0.(Finally, FlowKitView has a class method that initializes the application and opens a window on)ashow
  10202. 435 81 gm
  10203. -0.08662 0.(a newly created program or a program that has been saved.)ashow
  10204. 471 81 gm
  10205. -0.11598 0.(FlowKitView class protocol for instance creation:)ashow
  10206. 508 81 gm
  10207. bu fc
  10208. 2 F /|______Courier fnt
  10209. bn
  10210. -0.26434 0.(open)ashow
  10211. 526 117 gm
  10212. -0.20588 0.(self openOn: \(FoibleProgram)ashow
  10213. 544 225 gm
  10214. -0.20687 0.(with: FlowKitManager new)ashow
  10215. 562 225 gm
  10216. -0.20651 0.(with: FlowKitManager new\))ashow
  10217. F T cp
  10218. %%Page: ? 67
  10219. op
  10220. 32 30 xl
  10221. 1 1 pen
  10222. 735 300 gm
  10223. (nc 32 30 762 582 6 rc)kp
  10224. 1 setTxMode
  10225. 0 fs
  10226. 12 fz
  10227. bu fc
  10228. 2 F /|______Times-Roman fnt
  10229. bn
  10230. (63)show
  10231. 104 211 gm
  10232. 1 fs
  10233. 14 fz
  10234. bu fc
  10235. 2 F /|______Times-Bold fnt
  10236. bn
  10237. 3.28475 0. 32 0.32847 0.(Chapter 7.)awidthshow
  10238. 104 319 gm
  10239. 0.86625 0.(Conclusions)ashow
  10240. 141 81 gm
  10241. 12 fz
  10242. bu fc
  10243. 2 F /|______Times-Bold fnt
  10244. bn
  10245. 1.99996 0.(7.1.)ashow
  10246. 141 117 gm
  10247. 3.05862 0. 32 0.30586 0.(Implementation Limitations)awidthshow
  10248. 177 81 gm
  10249. 0 fs
  10250. bu fc
  10251. 2 F /|______Times-Roman fnt
  10252. bn
  10253. -0.07714 0.(Multiple inheritance is a special facility available in some object-oriented systems that allows a)ashow
  10254. 201 81 gm
  10255. 0.36331 0. 32 0.03633 0.(class to have more than one class as its immediate super-class, thus allowing a hybrid of the)awidthshow
  10256. 225 81 gm
  10257. 0.23895 0. 32 0.02389 0.(classes.  The new class inherits the methods and instance variables of all of its super-classes.)awidthshow
  10258. 249 81 gm
  10259. 0.25787 0. 32 0.02578 0.(When more than one super-class implements a method, then some type of precedence rule is)awidthshow
  10260. 273 81 gm
  10261. -0.07046 0.(used to determine which method is used by the class.)ashow
  10262. 309 81 gm
  10263. -0.11050 0.(Multiple inheritance is a useful way to combine the behavior of several classes.  Most Smalltalk)ashow
  10264. 333 81 gm
  10265. 0.79025 0. 32 0.07902 0.(programmers never have to use multiple inheritance.  However, there are several places in)awidthshow
  10266. 357 81 gm
  10267. 2.24105 0. 32 0.22410 0.(FOIBLE that would benefit from using multiple inheritance.  Unfortunately, multiple)awidthshow
  10268. 381 81 gm
  10269. 0.14511 0. 32 0.01451 0.(inheritance does not work in the versions of Smalltalk that we developed FOIBLE on, and so)awidthshow
  10270. 405 81 gm
  10271. -0.01309 0.(our implementation does not use it.  We were able to design around it, but the implementation)ashow
  10272. 429 81 gm
  10273. -0.03779 0.(would be better if it used multiple inheritance.  FoibleBox and FoibleManager are both classes)ashow
  10274. 453 81 gm
  10275. -0.11943 0.(that would benefit from the use of multiple inheritance.)ashow
  10276. 489 81 gm
  10277. 1.01730 0. 32 0.10173 0.(In FoibleBox, complex box should really be an attribute that can be added to any type of)awidthshow
  10278. 513 81 gm
  10279. -0.04658 0.(FoibleBox.  Adding the complex box attribute would require adding the manager variable, and)ashow
  10280. 537 81 gm
  10281. -0.00962 0.(adding the methods that send messages to the manager.  This is one situation where we would)ashow
  10282. 561 81 gm
  10283. -0.13801 0.(have used multiple inheritance if it was available.)ashow
  10284. 597 81 gm
  10285. 0.48599 0. 32 0.04859 0.(One possible way of implementing complex boxes is to subclass each of BoxWithPorts and)awidthshow
  10286. 621 81 gm
  10287. 0.62606 0. 32 0.06260 0.(BoxWithDirectLinks and add the complex box methods to the subclass.  This would create)awidthshow
  10288. 645 81 gm
  10289. 3.58581 0. 32 0.35858 0.(four box classes: BoxWithPorts, ComplexBoxWithPorts, BoxWithDirectLinks, and)awidthshow
  10290. 669 81 gm
  10291. 1.00662 0. 32 0.10066 0.(ComplexBoxWithDirectLinks.  The problem with this design is that code may have to be)awidthshow
  10292. 693 81 gm
  10293. -0.09806 0.(duplicated.)ashow
  10294. F T cp
  10295. %%Page: ? 68
  10296. op
  10297. 32 30 xl
  10298. 1 1 pen
  10299. 735 300 gm
  10300. (nc 32 30 762 582 6 rc)kp
  10301. 1 setTxMode
  10302. 0 fs
  10303. 12 fz
  10304. bu fc
  10305. 2 F /|______Times-Roman fnt
  10306. bn
  10307. (64)show
  10308. 93 81 gm
  10309. -0.07839 0.(There are certain methods that are used to define the behavior of boxes in each application, and)ashow
  10310. 117 81 gm
  10311. -0.01945 0.(the implementation of these methods is shared by all types of boxes in an application.  If there)ashow
  10312. 141 81 gm
  10313. 0.08712 0. 32 0.00871 0.(is more than one type of box in an application then the code that is shared by all boxes would)awidthshow
  10314. 165 81 gm
  10315. 0.07461 0. 32 0.00746 0.(have to be copied to each subclass of box that is used in the application.  This would not only)awidthshow
  10316. 189 81 gm
  10317. -0.10800 0.(be very inefficient, but it would also be difficult to maintain and update code.)ashow
  10318. 225 81 gm
  10319. -0.05911 0.(With multiple inheritance, all that would be required to create a complex box would be to have)ashow
  10320. 249 81 gm
  10321. -0.00231 0.(ComplexBox and either BoxWithPorts or BoxWithDirectLinks as the superclasses of the new)ashow
  10322. 273 81 gm
  10323. -0.05169 0.(box, with the ComplexBox methods taking precedence.  Code would not have to be duplicated)ashow
  10324. 297 81 gm
  10325. 1.11282 0. 32 0.11128 0.(in subclasses, since different types of boxes would be defined by combining classes with)awidthshow
  10326. 321 81 gm
  10327. 2.35366 0. 32 0.23536 0.(multiple inheritance instead of simple subclassing.  Since we could not use multiple)awidthshow
  10328. 345 81 gm
  10329. 0.58273 0. 32 0.05827 0.(inheritance, all FoibleBoxes have the complex box protocol and an instance variable that is)awidthshow
  10330. 369 81 gm
  10331. -0.08795 0.(used to store the companion manager of a complex box.)ashow
  10332. 405 81 gm
  10333. -0.04103 0.(For similar reasons, there really should be two classes of FoibleManagers representing the two)ashow
  10334. 429 81 gm
  10335. -0.06147 0.(possible uses.  The current implementation of FoibleManager contains some methods that only)ashow
  10336. 453 81 gm
  10337. -0.01531 0.(one type of manager needs.  There are already different initialize methods for the two types of)ashow
  10338. 477 81 gm
  10339. 0.61401 0. 32 0.06140 0.(managers.  The )awidthshow
  10340. 2 fs
  10341. bu fc
  10342. 2 F /|______Times-Italic fnt
  10343. bn
  10344. 0.23541 0.(myBox)ashow
  10345. 0 fs
  10346. bu fc
  10347. 2 F /|______Times-Roman fnt
  10348. bn
  10349. 0.72357 0. 32 0.07235 0.( method returns a manager's companion box, and only complex box)awidthshow
  10350. 501 81 gm
  10351. -0.05757 0.(managers need this method.  The )ashow
  10352. 2 fs
  10353. bu fc
  10354. 2 F /|______Times-Italic fnt
  10355. bn
  10356. -0.06838 0.(program)ashow
  10357. 0 fs
  10358. bu fc
  10359. 2 F /|______Times-Roman fnt
  10360. bn
  10361. -0.05851 0.( method returns the FoibleProgram that manages the)ashow
  10362. 525 81 gm
  10363. -0.10034 0.(entire application, and this method is only needed by top level managers.)ashow
  10364. 561 81 gm
  10365. 3.29132 0. 32 0.32913 0.(The best design for the FOIBLE framework would be to have two subclasses of)awidthshow
  10366. 585 81 gm
  10367. 0.29663 0. 32 0.02966 0.(FoibleManagers, Canvas and ComplexBoxManager.  FoibleManager should implement only)awidthshow
  10368. 609 81 gm
  10369. -0.06707 0.(those methods that are needed by all managers.  The classes Canvas and ComplexBoxManager)ashow
  10370. 633 81 gm
  10371. 0.28533 0. 32 0.02853 0.(could then implement the protocol needed for the specific types of managers.  To have these)awidthshow
  10372. 657 81 gm
  10373. 0.03768 0. 32 0.00376 0.(managers as separate classes in the current version of FOIBLE would force the duplication of)awidthshow
  10374. 681 81 gm
  10375. -0.04824 0.(code for the same reasons as described for FoibleBoxes.  Multiple inheritance could be used to)ashow
  10376. F T cp
  10377. %%Page: ? 69
  10378. op
  10379. 32 30 xl
  10380. 1 1 pen
  10381. 735 300 gm
  10382. (nc 32 30 762 582 6 rc)kp
  10383. 1 setTxMode
  10384. 0 fs
  10385. 12 fz
  10386. bu fc
  10387. 2 F /|______Times-Roman fnt
  10388. bn
  10389. (65)show
  10390. 93 81 gm
  10391. 0.91354 0. 32 0.09135 0.(allow for the creation of various types of managers, without the duplication of code.  The)awidthshow
  10392. 117 81 gm
  10393. -0.01322 0.(implementation of FOIBLE would be improved if multiple inheritance was available, and it is)ashow
  10394. 141 81 gm
  10395. -0.13783 0.(hoped that FOIBLE will be implemented on a system that has multiple inheritance.)ashow
  10396. 201 81 gm
  10397. 1 fs
  10398. bu fc
  10399. 2 F /|______Times-Bold fnt
  10400. bn
  10401. 1.99996 0.(7.2.)ashow
  10402. 201 117 gm
  10403. 2.63000 0. 32 0.26300 0.(Future Enhancements)awidthshow
  10404. 237 81 gm
  10405. 0 fs
  10406. bu fc
  10407. 2 F /|______Times-Roman fnt
  10408. bn
  10409. 0.87585 0. 32 0.08758 0.(One possible enhancement to FOIBLE would be to implement the display methods better.)awidthshow
  10410. 261 81 gm
  10411. 0.29617 0. 32 0.02961 0.(Currently, when an operation that causes a redisplay is performed, the FoibleManager has to)awidthshow
  10412. 285 81 gm
  10413. -0.04878 0.(keep track of a rectangular region that will be redisplayed on the screen.  This, in turn, forces a)ashow
  10414. 309 81 gm
  10415. 0.37597 0. 32 0.03759 0.(number of methods to keep track of the region of the screen that is altered by the operations)awidthshow
  10416. 333 81 gm
  10417. 0.45974 0. 32 0.04597 0.(performed.  These altered areas are merged together to give FoibleManager the total area to)awidthshow
  10418. 357 81 gm
  10419. 0.24688 0. 32 0.02468 0.(redisplay, and there are many times when these rectangles have to be checked if they are nil,)awidthshow
  10420. 381 81 gm
  10421. 2.09487 0. 32 0.20948 0.(because the )awidthshow
  10422. 2 fs
  10423. bu fc
  10424. 2 F /|______Times-Italic fnt
  10425. bn
  10426. 0.64743 0.(merge:)ashow
  10427. 0 fs
  10428. bu fc
  10429. 2 F /|______Times-Roman fnt
  10430. bn
  10431. 1.83425 0. 32 0.18342 0.( method fails if the argument is nil.  HotDraw uses a much better)awidthshow
  10432. 405 81 gm
  10433. 0.70114 0. 32 0.07011 0.(implementation for redisplaying the screen.  The altered region of the screen is stored, and)awidthshow
  10434. 429 81 gm
  10435. 0.66619 0. 32 0.06661 0.(whenever an operation changes an area on the screen, the operation calls the method )awidthshow
  10436. 2 fs
  10437. bu fc
  10438. 2 F /|______Times-Italic fnt
  10439. bn
  10440. 0.19007 0.(taint:)ashow
  10441. 453 81 gm
  10442. 0 fs
  10443. bu fc
  10444. 2 F /|______Times-Roman fnt
  10445. bn
  10446. 0.60317 0. 32 0.06031 0.(which handles merging the altered screen regions.  Whenever the screen is redisplayed, the)awidthshow
  10447. 477 81 gm
  10448. -0.08306 0.(stored area is accessed and then set to nil.)ashow
  10449. 513 81 gm
  10450. 0.13031 0. 32 0.01303 0.(Complex boxes may take up a large area on the screen.  Since the screen area is very limited,)awidthshow
  10451. 537 81 gm
  10452. -0.05648 0.(another enhancement to FOIBLE would be to allow complex boxes to be condensed down to a)ashow
  10453. 561 81 gm
  10454. 0.10284 0. 32 0.01028 0.(single icon on the screen.  This has been implemented in several FOIBLE applications, and it)awidthshow
  10455. 585 81 gm
  10456. -0.08076 0.(would be useful if each developer did not have to implement it.  The user could expand the box)ashow
  10457. 609 81 gm
  10458. 1.79260 0. 32 0.17926 0.(for editing purposes, and condense the box when viewing the contents of the box was)awidthshow
  10459. 633 81 gm
  10460. 2.07855 0. 32 0.20785 0.(unnecessary.  This would create more available space on the screen, which would be)awidthshow
  10461. 657 81 gm
  10462. -0.02885 0.(beneficial, since screen space is very valuable.  Limited screen area is one disadvantage that is)ashow
  10463. F T cp
  10464. %%Page: ? 70
  10465. op
  10466. 32 30 xl
  10467. 1 1 pen
  10468. 735 300 gm
  10469. (nc 32 30 762 582 6 rc)kp
  10470. 1 setTxMode
  10471. 0 fs
  10472. 12 fz
  10473. bu fc
  10474. 2 F /|______Times-Roman fnt
  10475. bn
  10476. (66)show
  10477. 93 81 gm
  10478. -0.08406 0.(difficult to overcome in visual programming, and anything that creates more available space on)ashow
  10479. 117 81 gm
  10480. -0.06132 0.(the screen is helpful.)ashow
  10481. 153 81 gm
  10482. -0.00239 0.(Simplifying the design of new boxes is another possible enhancement to FOIBLE.  Currently,)ashow
  10483. 177 81 gm
  10484. 0.07873 0. 32 0.00787 0.(a user must read and understand a fair amount of code before creating a new type of box.  An)awidthshow
  10485. 201 81 gm
  10486. 1.12030 0. 32 0.11203 0.(editor similar to IconManager could be created to allow a graphical user interface to box)awidthshow
  10487. 225 81 gm
  10488. 0.13671 0. 32 0.01367 0.(creating and editing.  The interface would have to display more information, for instance, the)awidthshow
  10489. 249 81 gm
  10490. 0.00442 0. 32 0.00044 0.(operation the box will perform, its number of inputs and outputs, and the icon for the box, but)awidthshow
  10491. 273 81 gm
  10492. 1.25396 0. 32 0.12539 0.(this type of editing would certainly be much easier than forcing a developer to learn the)awidthshow
  10493. 297 81 gm
  10494. -0.05850 0.(FOIBLE code.)ashow
  10495. 357 81 gm
  10496. 1 fs
  10497. bu fc
  10498. 2 F /|______Times-Bold fnt
  10499. bn
  10500. 1.99996 0.(7.3.)ashow
  10501. 357 117 gm
  10502. 2.43804 0. 32 0.24380 0.(The Framework)awidthshow
  10503. 393 81 gm
  10504. 0 fs
  10505. bu fc
  10506. 2 F /|______Times-Roman fnt
  10507. bn
  10508. 1.25457 0. 32 0.12545 0.(The redesign of FOIBLE has been very successful.  The original framework was a good)awidthshow
  10509. 417 81 gm
  10510. 0.20614 0. 32 0.02061 0.(design and, now that FOIBLE has gone through several iterations of rewrites, the framework)awidthshow
  10511. 441 81 gm
  10512. -0.07040 0.(is even better.  The current version of FOIBLE is an improvement to what was already a useful)ashow
  10513. 465 81 gm
  10514. 0.33599 0. 32 0.03359 0.(framework.  A number of different system have been developed with FOIBLE, and we have)awidthshow
  10515. 489 81 gm
  10516. -0.12068 0.(received valuable comments from the developers.)ashow
  10517. 525 81 gm
  10518. -0.12210 0.(The ideas for enhancements to FOIBLE that are discussed in the previous section reveal that the)ashow
  10519. 549 81 gm
  10520. -0.10580 0.(framework can still be improved.  Although we have implemented many of the suggestions that)ashow
  10521. 573 81 gm
  10522. -0.07270 0.(we have received, there is always room for improvement, and as more people use FOIBLE, the)ashow
  10523. 597 81 gm
  10524. 0.88226 0. 32 0.08822 0.(need to redesign will probably arise again.  However, there is no question that the current)awidthshow
  10525. 621 81 gm
  10526. -0.06835 0.(version of FOIBLE is a useful and flexible framework.)ashow
  10527. F T cp
  10528. %%Page: ? 71
  10529. op
  10530. 32 30 xl
  10531. 1 1 pen
  10532. 735 300 gm
  10533. (nc 32 30 762 582 6 rc)kp
  10534. 1 setTxMode
  10535. 0 fs
  10536. 12 fz
  10537. bu fc
  10538. 2 F /|______Times-Roman fnt
  10539. bn
  10540. (67)show
  10541. 104 270 gm
  10542. 1 fs
  10543. 14 fz
  10544. bu fc
  10545. 2 F /|______Times-Bold fnt
  10546. bn
  10547. 0.74702 0.(References)ashow
  10548. 135 81 gm
  10549. 0 fs
  10550. 12 fz
  10551. bu fc
  10552. 2 F /|______Times-Roman fnt
  10553. bn
  10554. ([Borg90])show
  10555. 135 144 gm
  10556. 0.25512 0. 32 0.02551 0.(Borges, Jose A. )awidthshow
  10557. 2 fs
  10558. bu fc
  10559. 2 F /|______Times-Italic fnt
  10560. bn
  10561. 0.48294 0. 32 0.04829 0.(Multiparadigm Visual Programming Languages.)awidthshow
  10562. 0 fs
  10563. bu fc
  10564. 2 F /|______Times-Roman fnt
  10565. bn
  10566. 0.23574 0. 32 0.02357 0.(  PhD. Thesis,)awidthshow
  10567. 153 144 gm
  10568. 0.66299 0. 32 0.06629 0.(University of Illinois at Urbana-Champaign, Department of Computer Science)awidthshow
  10569. 171 144 gm
  10570. 0.16896 0.(\(1990\).)ashow
  10571. 201 81 gm
  10572. -0.13853 0.([Eric87])ashow
  10573. 201 144 gm
  10574. 0.19729 0. 32 0.01972 0.(Ericson, Stuart D. )awidthshow
  10575. 2 fs
  10576. bu fc
  10577. 2 F /|______Times-Italic fnt
  10578. bn
  10579. 0.27999 0. 32 0.02799 0.(FOIBLE: A Framework For Object-Oriented Interactive Box)awidthshow
  10580. 219 144 gm
  10581. 3.85391 0. 32 0.38539 0.(and Line Environments.)awidthshow
  10582. 0 fs
  10583. bu fc
  10584. 2 F /|______Times-Roman fnt
  10585. bn
  10586. 2.48596 0. 32 0.24859 0.(  M.S. Thesis, University of Illinois at Urbana-)awidthshow
  10587. 237 144 gm
  10588. -0.08834 0.(Champaign, Department of Computer Science \(1987\).)ashow
  10589. 267 81 gm
  10590. ([Gold87])show
  10591. 267 144 gm
  10592. 1.80557 0. 32 0.18055 0.(Goldberg, Adele, and Robson, David. )awidthshow
  10593. 2 fs
  10594. bu fc
  10595. 2 F /|______Times-Italic fnt
  10596. bn
  10597. 1.99264 0. 32 0.19926 0.(Smalltalk-80: The Language and its)awidthshow
  10598. 285 144 gm
  10599. -0.03623 0.(Implementation.)ashow
  10600. 0 fs
  10601. bu fc
  10602. 2 F /|______Times-Roman fnt
  10603. bn
  10604. -0.03666 0.( Addison-Wesley, Reading, Massachusetts \(1987\).)ashow
  10605. 315 81 gm
  10606. 0.04956 0.([John88])ashow
  10607. 315 144 gm
  10608. 0.36575 0. 32 0.03657 0.(Johnson, Ralph E., and Foote, Brian. "Designing Reusable Classes." )awidthshow
  10609. 2 fs
  10610. bu fc
  10611. 2 F /|______Times-Italic fnt
  10612. bn
  10613. 0.45379 0. 32 0.04537 0.(Journal of)awidthshow
  10614. 333 144 gm
  10615. -0.04083 0.(Object-Oriented Programming)ashow
  10616. 0 fs
  10617. bu fc
  10618. 2 F /|______Times-Roman fnt
  10619. bn
  10620. -0.03614 0.(, \(June/July 1988\), pp. 22-30,35.)ashow
  10621. 363 81 gm
  10622. 0.05204 0.([Kras88])ashow
  10623. 363 144 gm
  10624. 0.39077 0. 32 0.03907 0.(Krasner, Glenn E. and Pope, Steven T. )awidthshow
  10625. 2 fs
  10626. bu fc
  10627. 2 F /|______Times-Italic fnt
  10628. bn
  10629. 0.49835 0. 32 0.04983 0.(A CookBook for using the Model-View-)awidthshow
  10630. 381 144 gm
  10631. 0.64895 0. 32 0.06489 0.(Controller User Interface Paradigm in Smalltalk-80)awidthshow
  10632. 0 fs
  10633. bu fc
  10634. 2 F /|______Times-Roman fnt
  10635. bn
  10636. 0.60485 0. 32 0.06048 0.(. ParcPlace Systems, 2400)awidthshow
  10637. 399 144 gm
  10638. 0.06195 0. 32 0.00619 0.(Geng Road, Palt Alto, CA 94303, \(January 1988\).)awidthshow
  10639. 429 81 gm
  10640. ([Kapp89])show
  10641. 429 144 gm
  10642. 1.64352 0. 32 0.16435 0.(Gerti Kappel, Jan Vitek,Oscar Nierstrasz, Simon Gibbs, Betty Junod, Marc)awidthshow
  10643. 447 144 gm
  10644. 4.96261 0. 32 0.49626 0.(Stadelmann, Dennis Tsichritzis. "An Object-Based Visual Scripting)awidthshow
  10645. 465 144 gm
  10646. 1.19888 0. 32 0.11988 0.(Environment," )awidthshow
  10647. 2 fs
  10648. bu fc
  10649. 2 F /|______Times-Italic fnt
  10650. bn
  10651. 1.53244 0. 32 0.15324 0.(Object-Oriented Development)awidthshow
  10652. 0 fs
  10653. bu fc
  10654. 2 F /|______Times-Roman fnt
  10655. bn
  10656. 0.83663 0. 32 0.08366 0.(, ed. Dennis Tsichritzis, pp.123-)awidthshow
  10657. 483 144 gm
  10658. (142, Centre Universitair d'Informatique, Universite de Geneve, 1989.)show
  10659. 513 81 gm
  10660. -0.04537 0.([Kimu86])ashow
  10661. 513 144 gm
  10662. 0.39291 0. 32 0.03929 0.(Kimura, Takayuki Dan, Choi, Julie W., and Mack, Jane M. )awidthshow
  10663. 2 fs
  10664. bu fc
  10665. 2 F /|______Times-Italic fnt
  10666. bn
  10667. 0.54580 0. 32 0.05458 0.(A Visual Language)awidthshow
  10668. 531 144 gm
  10669. 0.51101 0. 32 0.05110 0.(for Keyboardless Programming)awidthshow
  10670. 0 fs
  10671. bu fc
  10672. 2 F /|______Times-Roman fnt
  10673. bn
  10674. 0.39855 0. 32 0.03985 0.(. Technical Report WUCS-86-6, Department of)awidthshow
  10675. 549 144 gm
  10676. -0.01121 0.(Computer Science, Washington University, St. Louis, MO.)ashow
  10677. 579 81 gm
  10678. -0.09196 0.([Nati87])ashow
  10679. 579 144 gm
  10680. 0.00839 0. 32 0.00083 0.(National Instruments Corporation. )awidthshow
  10681. 2 fs
  10682. bu fc
  10683. 2 F /|______Times-Italic fnt
  10684. bn
  10685. (LabVIEW: A Demonstration)show
  10686. 0 fs
  10687. bu fc
  10688. 2 F /|______Times-Roman fnt
  10689. bn
  10690. (. National Instru-)show
  10691. 597 144 gm
  10692. 0.18753 0. 32 0.01875 0.(ments Corp., 12109 Technology Blvd., Austin TX 78727-6204, \(1987\).)awidthshow
  10693. 627 81 gm
  10694. -0.09176 0.([Raed85])ashow
  10695. 627 144 gm
  10696. 1.50039 0. 32 0.15003 0.(Raeder, Georg. "A Survey of Current Graphical Programming Techniques.")awidthshow
  10697. 645 144 gm
  10698. 2 fs
  10699. bu fc
  10700. 2 F /|______Times-Italic fnt
  10701. bn
  10702. 0.20996 0. 32 0.02099 0.(IEEE Computer)awidthshow
  10703. 0 fs
  10704. bu fc
  10705. 2 F /|______Times-Roman fnt
  10706. bn
  10707. 0.13153 0. 32 0.01315 0.(, 18 \(August 1985\), pp.11-25.)awidthshow
  10708. F T cp
  10709. %%Page: ? 72
  10710. op
  10711. 32 30 xl
  10712. 1 1 pen
  10713. 735 300 gm
  10714. (nc 32 30 762 582 6 rc)kp
  10715. 1 setTxMode
  10716. 0 fs
  10717. 12 fz
  10718. bu fc
  10719. 2 F /|______Times-Roman fnt
  10720. bn
  10721. (68)show
  10722. 135 81 gm
  10723. -0.09080 0.([Scae88])ashow
  10724. 135 144 gm
  10725. 3.38699 0. 32 0.33869 0.(Scaer, Bethany Rose. )awidthshow
  10726. 2 fs
  10727. bu fc
  10728. 2 F /|______Times-Italic fnt
  10729. bn
  10730. 4.07882 0. 32 0.40788 0.(FlowKit - A Graphical Dataflow Programming)awidthshow
  10731. 153 144 gm
  10732. 0.61433 0.(Environment.)ashow
  10733. 0 fs
  10734. bu fc
  10735. 2 F /|______Times-Roman fnt
  10736. bn
  10737. 2.34008 0. 32 0.23400 0.(  M.S. Thesis, University of Illinois at Urbana-Champaign,)awidthshow
  10738. 171 144 gm
  10739. -0.10591 0.(Department of Computer Science \(1988\).)ashow
  10740. 201 81 gm
  10741. ([Senn90])show
  10742. 201 144 gm
  10743. 2.15911 0. 32 0.21591 0.(Sennett, Michael. )awidthshow
  10744. 2 fs
  10745. bu fc
  10746. 2 F /|______Times-Italic fnt
  10747. bn
  10748. 2.05245 0. 32 0.20524 0.(Sh++: A Graphical Unix Interface for the Smalltalk-80)awidthshow
  10749. 219 144 gm
  10750. 1.76406 0. 32 0.17640 0.(Programming Environment.)awidthshow
  10751. 0 fs
  10752. bu fc
  10753. 2 F /|______Times-Roman fnt
  10754. bn
  10755. 0.80841 0. 32 0.08084 0.(  M.C.S. Thesis, University of Illinois at Urbana-)awidthshow
  10756. 237 144 gm
  10757. -0.08834 0.(Champaign, Department of Computer Science \(1990\).)ashow
  10758. F T cp
  10759. %%Trailer
  10760. cd
  10761. end
  10762. %%Pages: 72 0
  10763. %%EOF
  10764.